![](/img/trans.png)
[英](R) How to copy paste values from one column based on another column and ID in R
[英]Assign an ID in one column based on the ID in another column in R
我首先根据第 1 列分配了一个唯一 ID
column1 id.1 column2
A 1 C
A 1 B
B 2 B
C 3 A
C 3 D
我想将 id.1 值分配给 column2
column1 id.1 column2 id.2
A 1 C 3
A 1 B 2
B 2 B 2
C 3 A 1
C 3 D NA
如果再次回答此问题,我很抱歉。 我一直在努力寻找一个漂亮的解决方案。 感谢您的时间
match
是执行此操作的常用方法:
df$id.2 = df$id.1[match(df$column2, df$column1)]
df
# column1 id.1 column2 id.2
# 1 A 1 C 3
# 2 A 1 B 2
# 3 B 2 B 2
# 4 C 3 A 1
# 5 C 3 D NA
或者使用dplyr
语法:
mutate(df, id.2 = id.1[match(column2, column1)])
使用这些数据:
df = read.table(text = 'column1 id.1 column2
A 1 C
A 1 B
B 2 B
C 3 A
C 3 D', header = T)
您可以使用如下所示的factor
:
transform(df, id.2 = factor(column2, unique(column1), unique(id.1)))
column1 id.1 column2 id.2
1 A 1 C 3
2 A 1 B 2
3 B 2 B 2
4 C 3 A 1
5 C 3 D <NA>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.