r - 如何在 R 中的 pmax() 中给出一个变量
问题描述
假设如果我有一个数据虹膜并且我想将 pmax() 应用于动态列列表。
Ex:
DT <- as.data.table(iris)
example_column <- c("Petal.Width")
DT[, test_flag :=
ifelse(pmax(substitute(example_column), Petal.Length) > 0, "Exclude", "Consider")]
但我无法将 example_column 作为动态参数传递给 pmax()。
解决方案
如果您有超过 1 列,我们可以使用do.call
with 。.SDcols
example_column
library(data.table)
DT <- as.data.table(iris)
example_column <- c("Petal.Width")
DT[, test_flag := ifelse(do.call(pmax, .SD) > 0, "Exclude", "Consider"),
.SDcols = c(example_column, 'Petal.Length')]
对于单列使用get
就足够了。
DT[, test_flag :=
ifelse(pmax(get(example_column), Petal.Length) > 0, "Exclude", "Consider")]
推荐阅读
- r - 逐行求和
- daml - 如何将 DAML 部署到 AWS QLDB?
- javascript - 为什么 JavaScript 中的 null 大于 -1?
- javascript - 在 TypeScript 中使用带有功能组件的点表示法
- nginx - 带有子目录的域上的 magento 2 的 nginx 配置
- c++ - opencv c ++中的copyTo如何工作?
- python - 使用 Pymongo Upsert 在 MongoDB 中使用 Python 更新或创建文档
- java - 将属性从一种方法传回另一种方法时如何处理异常
- java - 当玩家不在门附近时,如何制作关闭门的功能?
- python - 关于如何提高准确性的建议