我有一个这样的数据框:
ID Observation Count
1 A 3
1 B 2
1 C 5
2 B 1
2 C 4
3 A 3
df <- data.frame(ID = c(1, 1, 1, 2, 2, 3), Observation = c("A", "B", "C", "B", "C", "A"), Count = c(3, 2, 5, 1, 4, 3))
我想在单个行中获得有关每个ID的所有观测值的信息:
ID A B C
1 3 2 5
2 0 1 4
3 3 0 0
我查看了this question,它解决了从宽格式到长格式重塑的相反问题,但我无法使其适应这种情况。
这是我到目前为止所到之处:
df1 <- reshape(df, timevar = "Observation", idvar = "ID", direction = "wide", v.names = "Count", varying = unique(df$Observation), times = unique(df$Observation))
我得到:
变化[,i]时出错:尺寸错误
注意:如果某个ID没有给定的观察值(例如,ID 2,观察值A),我想分配0。