通过 ID 操作 R 中的数据帧
Manipulating Data Frame in R by ID
我有一个数据框:
ID date term estimate
unit1 1/1/2015 intercept 1.01
unit1 1/1/2015 x1 2.01
unit1 1/1/2015 x2 3.01
unit1 1/1/2015 x3 4.01
unit1 1/1/2015 x4 5.01
unit2 1/1/2015 intercept 1.01
unit2 1/1/2015 x1 -1.01
unit2 1/1/2015 x2 1.01
unit2 1/1/2015 x3 2.01
unit1 1/2/2015 intercept 1.01
unit1 1/2/2015 x1 2.01
unit1 1/2/2015 x2 3.01
unit1 1/2/2015 x3 4.01
unit1 1/2/2015 x4 5.01
我想要得到的是每个术语在其自己的列中,按 ID 和日期,ID 和日期组合的 NAs 没有与之关联的特定术语。因此,总共应该有 7 列 - ID、日期、截距和 x1-x4。
这是一个从长到宽的简单重塑问题
library(reshape2)
dcast(df, ID + date ~ term)
# ID date intercept x1 x2 x3 x4
# 1 unit1 1/1/2015 1.01 2.01 3.01 4.01 5.01
# 2 unit1 1/2/2015 1.01 2.01 3.01 4.01 5.01
# 3 unit2 1/1/2015 1.01 -1.01 1.01 2.01 NA
或
library(tidyr)
spread(df1, term, estimate)
# ID date intercept x1 x2 x3 x4
#1 unit1 1/1/2015 1.01 2.01 3.01 4.01 5.01
#2 unit1 1/2/2015 1.01 2.01 3.01 4.01 5.01
#3 unit2 1/1/2015 1.01 -1.01 1.01 2.01 NA
我有一个数据框:
ID date term estimate
unit1 1/1/2015 intercept 1.01
unit1 1/1/2015 x1 2.01
unit1 1/1/2015 x2 3.01
unit1 1/1/2015 x3 4.01
unit1 1/1/2015 x4 5.01
unit2 1/1/2015 intercept 1.01
unit2 1/1/2015 x1 -1.01
unit2 1/1/2015 x2 1.01
unit2 1/1/2015 x3 2.01
unit1 1/2/2015 intercept 1.01
unit1 1/2/2015 x1 2.01
unit1 1/2/2015 x2 3.01
unit1 1/2/2015 x3 4.01
unit1 1/2/2015 x4 5.01
我想要得到的是每个术语在其自己的列中,按 ID 和日期,ID 和日期组合的 NAs 没有与之关联的特定术语。因此,总共应该有 7 列 - ID、日期、截距和 x1-x4。
这是一个从长到宽的简单重塑问题
library(reshape2)
dcast(df, ID + date ~ term)
# ID date intercept x1 x2 x3 x4
# 1 unit1 1/1/2015 1.01 2.01 3.01 4.01 5.01
# 2 unit1 1/2/2015 1.01 2.01 3.01 4.01 5.01
# 3 unit2 1/1/2015 1.01 -1.01 1.01 2.01 NA
或
library(tidyr)
spread(df1, term, estimate)
# ID date intercept x1 x2 x3 x4
#1 unit1 1/1/2015 1.01 2.01 3.01 4.01 5.01
#2 unit1 1/2/2015 1.01 2.01 3.01 4.01 5.01
#3 unit2 1/1/2015 1.01 -1.01 1.01 2.01 NA