【发布时间】:2021-10-14 19:01:55
【问题描述】:
我有一个看起来像这样的原始数据集。:
> df.1
id score
1 13_B 1
2 13_C 4
3 133_D 5
4 141 2
5 145 3
6 143 4
7 12_B 6
8 12_C 7
9 12_D 9
我需要做一些需要所有ids 数字的过程,因此我将_B|_C|_D 重新编码为1|2|3。
在我对具有额外 group 列的数据集完成一些处理后,我的示例数据集如下所示:
df.2 <- data.frame(id = c("131","132","133", "141", "145", "143", "121","122","123"),
score = c(1,4,5,2,3,4,6,7,9),
group = c(5,5,5,4,4,4,3,3,3))
> df.2
id score group
1 131 1 5
2 132 4 5
3 133 5 5
4 141 2 4
5 145 3 4
6 143 4 4
7 121 6 3
8 122 7 3
9 123 9 3
此时,我需要将ids 转换回原来的items = c(12,13,15)。所以15 不在这个数据集中,但需要一些可以在全球范围内使用的东西。我想要的输出是:
> df.3
id score group
1 13_B 1 5
2 13_C 4 5
3 13_D 5 5
4 141 2 4
5 145 3 4
6 143 4 4
7 12_B 6 3
8 12_C 7 3
9 12_D 9 3
有什么想法吗?
谢谢!
【问题讨论】:
-
您是如何获得
group值的 -
第三个元素是
133_D还是13_D -
是否可以保持原始列'id'不变,然后创建一个新列'id_numeric'?然后你可以使用选择的 id 来做你的过滤器等等
-
@akrun 纠正了那个错字。
group变量是在我对数据集进行了一些处理之后出现的。没什么重要的。 -
@amisos55 可以查看更新解决方案吗