我有两个数据帧,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