【发布时间】:2021-03-03 00:11:22
【问题描述】:
我正在尝试使用 r data.table 来执行以下计算:
我有一个包含分类列和一个数字列的表格,例如
cat1 cat2 cat3 target
0 x xy xxx 1
1 x xx xxx 1
2 x xx yyy 0
3 y yx yyy 1
4 y yy yyy 0
5 y yy yyy 1
我想计算一个形状相同的表格,其中每个分类变量的级别已更改为该级别的目标列的平均值。
即上述 data.table 的结果将是
cat1 cat2 cat3 target
0 0.66 1 1 1
1 0.66 0.5 1 1
2 0.66 0.5 0.5 0
3 0.66 1 0.5 1
4 0.66 0.5 0.5 0
5 0.66 0.5 0.5 1
请不要使用常规 r 数据帧的解决方案,只有 data.table,因为我这样做是为了更好地使用 data.tables,谢谢!!
【问题讨论】:
-
"我这样做是为了练习" - 但您希望 我们 为您提供整个解决方案吗? ;)
-
哈哈公平点@Henrik。我的意思是我可以通过调用
dt[,mean(target),by=catx]在for 循环中执行此操作,并将每个变量的结果合并回这个data.table。只是想知道那里的 data.table 向导是否有更优雅的解决方案。
标签: r data.table