我有一个这样的数据框:
x=data.frame(type = c('a','b','c','a','b','a','b','c'),
value=c(5,2,3,2,10,6,7,8))
每个item都有属性a,b,c,而有些记录可能会缺失记录,即只有a和b
期望的输出是
y=data.frame(item=c(1,2,3), a=c(5,2,6), b=c(2,10,7), c=c(3,NA,8))
如何将 x 转换为 y?谢谢
最佳答案
我们可以使用dcast
library(data.table)
out <- dcast(setDT(x), rowid(type) ~ type, value.var = 'value')
setnames(out, 'type', 'item')
out
# item a b c
#1: 1 5 2 3
#2: 2 2 10 8
#3: 3 6 7 NA
关于r - 如何每 n 行转置一个长数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52595575/