【发布时间】:2019-11-11 14:22:44
【问题描述】:
我正在处理包中的公式,我想删除所有非数字项。
我的问题是,由于基本公式可能包含运算,我无法直接评估某些术语。
这是一个代表:
datax=mtcars
op = c("mpg", "log(mpg)", "ifelse(mpg>2, '>2', '<=2')")
sapply(op, function(x){ is.numeric(datax[[x]]) })
#T,F,F
sapply(op, function(x){ is.numeric(with(data, get(x))) })
#Error in get(x) : object 'log(mpg)' not found
#Expected output:
#T,T,F
我知道我可以使用attach(datax),但这个功能非常适合not recommended,我宁愿避免使用它。
有没有办法在数据框的上下文中评估操作,以便我可以测试结果是否为数字?
注意:我不确定我的标题应该是关于评估或公式术语的删除,请随时提出修改建议。
【问题讨论】:
标签: r formula expression-evaluation