如何将 dcast.data.table 与公式一起用作字符串
How to use dcast.data.table with formula as string
我想对 data.table 使用强制转换,公式的列名称为字符串
我的table:
c1 c2 c3
1 A 1
1 B 2
1 C 3
2 A1 1
2 B1 2
2 C1 3
我想要结果:
c1 1 2 3
1 A B C
2 A1 B1 C1
我可以用命令
dcast.data.table(dt, c1 ~ c3, value.var = "c2")
但我想 运行 在一个函数中进行 dcast,该函数的参数为 c1 列名称作为字符串。例如
f1 <- function(d, col_name1, col_name2, col_name3) {
dcast.data.table(d, col_name1 ~ col_name3, value.var = col_name2)
}
所以我会打电话给
f1(dt, "c1", "c2", "c3")
希望大家帮忙!
dcast
也接受公式作为字符串。
f1 <- function(d, col_name1, col_name2, col_name3) {
dcast.data.table(d, paste(col_name1, "~", col_name3), value.var = col_name2)
}
f1(dt, "c1", "c2", "c3")
# c1 1 2 3
# 1: 1 A B C
# 2: 2 A1 B1 C1
请注意,您不必加载 reshape2
,您也可以直接使用 dcast
而不是版本 1.9.5+
中的 dcast.data.table
我想对 data.table 使用强制转换,公式的列名称为字符串
我的table:
c1 c2 c3
1 A 1
1 B 2
1 C 3
2 A1 1
2 B1 2
2 C1 3
我想要结果:
c1 1 2 3
1 A B C
2 A1 B1 C1
我可以用命令
dcast.data.table(dt, c1 ~ c3, value.var = "c2")
但我想 运行 在一个函数中进行 dcast,该函数的参数为 c1 列名称作为字符串。例如
f1 <- function(d, col_name1, col_name2, col_name3) {
dcast.data.table(d, col_name1 ~ col_name3, value.var = col_name2)
}
所以我会打电话给
f1(dt, "c1", "c2", "c3")
希望大家帮忙!
dcast
也接受公式作为字符串。
f1 <- function(d, col_name1, col_name2, col_name3) {
dcast.data.table(d, paste(col_name1, "~", col_name3), value.var = col_name2)
}
f1(dt, "c1", "c2", "c3")
# c1 1 2 3
# 1: 1 A B C
# 2: 2 A1 B1 C1
请注意,您不必加载 reshape2
,您也可以直接使用 dcast
而不是版本 1.9.5+
dcast.data.table