【发布时间】:2018-06-24 04:50:31
【问题描述】:
我有一个宽格式的数据框,如下所示。我想使用 data.table 融化函数将宽变长。在简单的情况下,我可以拆分两个数据,并 rbind 两个数据集。但就我而言,有多个 test(i) testgr(i) 列。但必须有更好、更有效的方法来做到这一点。提前谢谢。
来自 =>
id<-c("106E1258","106E2037","104E1182","105E1248","105E1470","10241247",
"10241703")
yr<-c(2017,2017,2015,2016,2016,2013,2013)
finalgr<-c(72,76,75,71,75,77,78)
test01<-c("R0560","R0066","R0308","R0129","R0354","R0483",
"R0503")
test01gr<-c(73,74,67,80,64,80,70)
test02<-c("R0660","R0266","R0302","R0139","R0324","R0383" ,
"R0503")
test02gr<-c(71,54,67,70,68,81,61)
dt<-data.frame(id=id,yr=yr,
finalgr=finalgr,
test01=test01,test01gr=test01gr,
test02=test02,test02gr=test02gr)
到=>
id2<-c("106E1258","106E1258","104E1182","104E1182")
yr2<-c(2017,2017,2015,2015)
finalgr<-c(72,72,75,75)
testid<-c("R0560","R0660","R0308","R0302")
testgr<-c(73,71,67,67)
dt2<-data.frame(id=id2,yr=yr2,finalgr=finalgr,testid=testid,testgr=testgr)
【问题讨论】:
-
你的例子看起来不完整?
-
一般来说,避免在您的示例中命名
data.frame"dt"可能是个好主意,因为大多数人都将其用作示例data.table名称。
标签: r data.table