我正在尝试以特定方式转换数据框以执行某些分析。我有一个这样的数据框:
A <- data.frame(Date=c("A","A","B","B"),
Var1=c("A","B","A","B"), Var2=c(1,2,3,4),
Var3=c(5,6,7,8))
我想得到:
Result <- data.frame(Date=c("A","B"),
Var4=c(1,2), Var5=c(5,6),
Var6=c(3,4), Var7=c(7,8))
我正在尝试使用reshape包中的一些函数,但我无法做到。一些建议?
答案 0 :(得分:0)
我们可以尝试
cbind(Date= unique(A$Date), do.call(cbind, split(A[-(1:2)], A$Date)))
或者
library(data.table)
setDT(A)[, as.list(unlist(.SD)) , .(Date=Var1), .SDcols = Var2:Var3]