【发布时间】:2015-01-26 19:53:26
【问题描述】:
有很多帖子讨论了在使用 data.table 时在多列上应用函数。但是我需要计算一个依赖于许多列的函数。举个例子:
# Create a data table with 26 columns. Variable names are var1, ..., var 26
data.mat = matrix(sample(letters, 26*26, replace=TRUE),ncol=26)
colnames(data.mat) = paste("var",1:26,sep="")
data.dt <- data.table(data.mat)
现在,假设我想计算第 5、6、7 和 8 列中“a”的数量。 我看不到如何使用 SDcols 执行此操作并最终这样做:
data.dt[,numberOfAs := (var5=='a')+(var6=='a')+(var7=='a')+(var7=='a')]
这很乏味。有没有更明智的方法来做到这一点?
谢谢
【问题讨论】:
-
看起来您的数据可能是错误的形状(宽与长)。你确定这是最好的结构吗?
标签: r data.table