-1
我有两个以下数据帧,第一个表示频率,第二个表示单个事件。我试图添加一列到合并数据的第一个到第二个数据的第二个数据,在行/列的条件。合并重新整形的数据帧并根据类别复制值
event a b c
w 0 1 3
x 3 4 0
y 6 0 4
z 0 0 4
event person
w b
w b
x a
x b
x b
z c
z a
y b
y c
y a
y c
counts <- data.frame (event= c("w", "x", "y", "z"), a= c(0, 3, 6, 0), b=c(1, 4, 0, 0), c=c(3, 0, 4, 4))
cases <- data.frame(event=c("w", "w", "x", "x", "x", "z", "z", "y", "y", "y", "y"),
person=c("b", "b", "a", "b", "b", "c", "a", "b", "c", "a", "c"))
目标:
case person freq
w b 1
w b 1
x a 3
x b 4
x b 4
z c 0
z a 0
y b 0
y c 4
y a 6
y c 4
但没有成功。我能够使用reshape
包生成第一个DF频率,但无法弄清楚如何组合它们。
试过'merge'? – TheComeOnMan
@Codoremifa:在这个例子中,我没有看到使用'merge'的策略。谨慎发布你在想什么? –
我希望我能正确理解这个问题 - 'library(reshape2); 重熔< - 熔化(计数,id.vars =“事件”); colnames(计数)< - c(“event”,“person”,“freq”); merge(cases,countmelted,all.x = TRUE,by = c(“event”,“person”));' – TheComeOnMan