R中data.table的程序化子集

russfx

这似乎是一个非常简单的问题,但是它的解决方案使我无法进行大约90分钟的尝试,搜索和阅读手册以及在线学习。

说我有一个data.table:

DT<-data.table(a=runif(n = 10),b=runif(n = 10),c=runif(n = 10))

显然,这样的事情有效:

DT[a > 0.5]

并给我DT的子集,其中“ a”列中的值大于0.5。但是,如果我想变得更灵活些(因为该子集嵌入在较大的例程中),该怎么办?

我想做的是使此原型功能起作用:

flexSubset<-function(sColumnToSubset,dMin){
subs<-DT[sColumnToSubset>dMin]
return(subs)
}

我尝试了许多失败的尝试,但都没有成功...

with=FALSE

有什么建议?非常感谢您提前抽出宝贵的时间!

埃迪

如果要传递字符串,请执行以下操作:

flexSubset = function(sColumnToSubset, dMin)
                DT[get(sColumnToSubset) > dMin]

flexSubset("a", 0.5)

如果要传递未计算的表达式,则:

flexSubset = function(sColumnToSubset, dMin) {
                lhs = substitute(sColumnToSubset)
                DT[eval(lhs) > dMin]
             }

flexSubset(a, 0.5)
flexSubset(a / b, 0.5)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中data.table中的快速子集

来自分类Dev

选择data.table R中的列子集

来自分类Dev

子集data.table由R中的日期范围设置

来自分类Dev

data.table R中的子集ID和日期

来自分类Dev

r中的data.table:使用列索引的子集

来自分类Dev

在R中的多个列上应用向量化子集

来自分类Dev

如何在R中向量化子集功能?

来自分类Dev

prestashop 中的程序化登录

来自分类Dev

在R中堆叠data.frame的子集

来自分类Dev

R data.table根据列表中的参数将函数应用于列子集

来自分类Dev

将巨大的稀疏矩阵转换为data.table以在R中更快地进行子集

来自分类Dev

总结data.table-在R中按日期创建多个列子集

来自分类Dev

R从data.table列中搜索大写单词的子集字符串

来自分类Dev

将data.table列的子集传递给函数,并通过R中的引用将结果加回

来自分类Dev

R:优化子集和下降因子水平

来自分类Dev

临时SQL脚本中的程序化T-SQL

来自分类Dev

CGRect与程序化GUI设计中的约束?

来自分类Dev

尝试在AWS中自动创建程序化IAM用户

来自分类Dev

Android中相对布局内的程序化对齐问题

来自分类Dev

程序化注入中的更改和输入事件

来自分类Dev

临时SQL脚本中的程序化T-SQL

来自分类Dev

Swift / UI Builder中的程序化分页导航

来自分类Dev

部分标题未显示在程序化 UITableView 中

来自分类Dev

熊猫数据帧中的程序化合并

来自分类Dev

R:更新data.table中的列

来自分类Dev

R:更新data.table中的列

来自分类Dev

data.table(R)中的ifelse行为

来自分类Dev

R中data.table的命名列

来自分类Dev

在R data.table中运行总和