【发布时间】:2021-11-16 21:28:20
【问题描述】:
我正在尝试将dcast 我的输入数据inDT 转换为预期的输出outDT:
library(data.table)
inDT <- data.table(
int_value = c(2020L, 1L:10L, rep(NA_integer_, 20)),
num_value = c(rep(NA_real_, 11), seq(0.1, 1, 0.1), rep(NA_real_, 10)),
timestamp_value = c(rep(as.POSIXct(NA), 21), Sys.time() - 1:10),
id = c(
"int_id_1",
rep("int_id_2", 10),
rep("num_id", 10),
rep("timestamp_id", 10)
)
)
outDT <- data.table(
int_id_1 = c(2020L, rep(NA_integer_, 9)),
int_id_2 = 1L:10L,
num_id = seq(0.1, 1, 0.1),
timestamp_id = Sys.time() - 1:10
)
我用dcast.data.table尝试了几个不同的星座:
dcast.data.table(inDT, int_value + num_value + timestamp_value ~ id, value.var = c("int_value", "num_value", "timestamp_value"))
dcast.data.table(inDT, . ~ id, value.var = c("int_value", "num_value", "timestamp_value"))
但我似乎在这里遗漏了一些东西。
非常感谢任何帮助。
【问题讨论】:
标签: r data.table