【发布时间】:2020-03-05 02:20:05
【问题描述】:
我想运行下面的函数
count_greater_than <- function(x){
ret <- sum(x > 1);
return(ret);
}
把鸢尾花数据集作为数据表。但是,我只想为 iris 中具有数值的所有列(除“物种”之外的所有列)运行该函数。我的做法是
dt <- as.data.table(iris);
gr_1 <- dt[, sapply(.SD,count_greater_than, is.numeric)];
names(gr_1) <- colnames(iris);
gr_1;
这给了我;
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
150 150 149 93 NA
但我想要的是;
Sepal.Length Sepal.Width Petal.Length Petal.Width
150 150 149 93
有没有办法排除具有非数字值的列?或者至少指定我想要覆盖的列?
【问题讨论】:
标签: r data.table