【发布时间】:2018-10-15 04:44:38
【问题描述】:
我有以下(包含数字的)字符向量:
nums = c("1, 2", "1, 2, 4", "2, 4", "1, 2, 3, 4, 5", "2, 3, 5", NA, NA, NA, NA)
我想设置一个算法来测试nums 中元素的n 子集是否包含n 唯一数字,然后从其他元素中删除这些数字。其中n 是从1 到9 的任意数字。
在上面的示例中,由于第一个 3 元素仅包含 3 数字:1, 2, 4,因此应从其他元素中删除这些数字。所以输出会是这样的:
nums = c("1, 2", "1, 2, 4", "2, 4", "3, 5", "3, 5", NA, NA, NA, NA)
请注意,它可能是具有2 唯一编号的2 元素或具有4 唯一编号的4 元素,等等。
我想将最终输出保留为与原始长度相同的字符向量。
【问题讨论】:
-
首先,您应该将字符向量转换为数字向量列表。如果您需要一个字符向量(出于某种未指定和奇怪的原因),您应该在所有数据操作之后在最后创建它。
-
对第一步和最后一步的好建议,@Ronald。中间呢?