在r

时间:2016-01-05 13:03:25

标签: r

我有两个数据帧,df1和df2(见下文)。从df1我想将letter的值写入df2中的相关列,例如group.x的值ID=1为C,group.y为B(来自df1)。因为我真的不知道从哪里开始寻找答案,所以有一些帮助指出我正确的方向来解决这个问题将非常感激......

> no.pers <- 3
> df1 <- data.frame(
+   ID = rep(1:no.pers, each = 3),
+   letter = sample(LETTERS[1:3],
+                   no.pers*3,
+                   replace = TRUE),
+   group = rep(letters[seq(24,26)],
+                  no.pers,
+                  replace = TRUE)
+   )
> df1
  ID letter group
1  1      C     x
2  1      B     y
3  1      C     z
4  2      C     x
5  2      B     y
6  2      B     z
7  3      B     x
8  3      C     y
9  3      B     z
> df2 <- data.frame(ID = unique(df1$ID),
+                   setNames(
+                     replicate(length(unique(df1$group)),
+                               0,
+                               simplify = FALSE),
+                     paste0("group.",unique(df1$group)))
+                   )
> df2
  ID group.x group.y group.z
1  1       0       0       0
2  2       0       0       0
3  3       0       0       0

0 个答案:

没有答案