我有这样的数据
df <- data.frame(ptid = rep(1:2, each = 6),
num = rep(1:3, each = 4),
type = rep(c("type1", "type2"), each = 6),
time = rep(1:3, times = 4),
volume = rnorm(12))
现在,它是长格式,我应该如何根据时间和类型将其更改为宽格式,而不是一个:比如time 1 type 1,time 2 type 1,time 3 type 1,time 1 type 2,time 2 type 2,time 3 type 3,time 3 type 3...?
我写了这段代码
df_wide <- df %>%
pivot_wider(names_from = c("time", "type"),
values_from = "volume",
names_prefix = "time",
names_sep = "")
但是它说这个量不足以识别,而且不能工作。谢谢帮忙~~!
2条答案
按热度按时间uqzxnwby1#
您有匹配ptid/num/type/time的观测。如果您希望它们是单独的行而不是该位置的列表,请添加一个标识符以区分它们:
dgsult0t2#