【发布时间】:2020-10-01 12:56:15
【问题描述】:
这是我的数据
dt = data.table(x=sample(8,20,TRUE),
y=sample(2,20,TRUE),
w = sample(letters[5:20], 20, TRUE),
u = sample(letters[2:25], 20, TRUE),
z=sample(letters[1:4], 20,TRUE),
d1 = runif(20), d2=runif(20))
这是我的 dcasting 代码。
DC_1 = dcast.data.table(dt,x+w ~ z, value.var = "d1")
这很好用。但是,我的数据还可以另外包括“a”列和“s”列,如下所示。它们都可以包括在内,或者一个,或者一个都不包括。
dt = data.table(x=sample(8,20,TRUE),
y=sample(2,20,TRUE),
w = sample(letters[5:20], 20, TRUE),
u = sample(letters[2:25], 20, TRUE),
z=sample(letters[1:4], 20,TRUE),
a = sample(letters[1:25], 20, T),
s = sample(letters[2:17], 20, T),
d1 = runif(20), d2=runif(20))
然而,额外的列总是 characters 。此外,我的数据总是必须在列“z”上转换,值变量总是“d1”
我如何通过 data.table 进行 dcast,以便它获取数据表中可用的所有字符列(z 除外)并将它们转换到 z 上?
【问题讨论】:
标签: r data.table reshape dcast