重塑data.frame长到宽格式

时间:2020-07-02 08:40:44

标签: r dataframe reshape

我有一个这样的数据框:

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。

0 个答案:

没有答案