data.table,通过引用,扫描j

时间:2018-04-21 23:49:11

标签: r data.table

DT = data.table(Grp1=letters[1:10], Grp2=letters[rep(1:5, 2)], Grp3=letters[rep(1:2, 5)], matrix(1:100, 10))
grp2.cluster.mean = DT[, lapply(.SD, mean), by=Grp2, .SDcols=-c("Grp1", "Grp3")]
variable.means = DT[, lapply(.SD, mean), .SDcols=-c("Grp1", "Grp2", "Grp3")]

我很难习惯j运算符(在DT [i,j,by]中)。我想用函数检索矩阵部分中的规范化值:

(聚类均值 - 变量均值)/(聚类均值+变量均值)

使用类似于:

的语法
DT[, lapply(.SD, New.Fxn), by=GrpX, .SDcols=matrix]

我想在不使用'设置的情况下检索此内容。函数,换句话说,我暂时需要这些新值(在另一个函数中使用),我需要保留原始值(用于以后的函数)。它实际上也是一张非常大的桌子,所以我想避免制作额外的桌子副本。

我看过使用'设置'的问题/答案。函数或逐行扫描,但这更像是一个教学问题,因为我仍然无法绕过data.table语法。我想我的问题的根源可能是对如何在j / col中应用函数的colums / rows中回收/使用新vale的不完全理解?我想学习如何更好地将它用于更复杂的功能和未来的分组操作,因此任何关于如何思考/使用data.table操作的建议都将非常感谢! (是的,我已经审查了所有的小插曲......仍然无法使用该应用程序......)

提前非常感谢!

0 个答案:

没有答案