gpt4 book ai didi

r - 测试 data.table 中是否存在变量

转载 作者:行者123 更新时间:2023-12-01 04:38:28 25 4
gpt4 key购买 nike

我想在 data.table 中做一些计算,列名可以不同。

library(data.table)
DT1 <- data.table(x=1:10,y=1:10)
DT1[,list(y+x)]

现在,如果我对不包含 y 的 DT 做同样的事情柱子:
DT <- data.table(x=1:10)
DT[,list(y+x)]

我会得到一个错误。当然我可以在data.table之外进行检查:
if("y" %in% names(DT))DT[,list(y+x)]

我想知道是否有办法用 data.table 本身来测试这个,比如:
DT[exists("y"),y+x]

最佳答案

我们可以使用 if/else条件与 exists

DT[, if(exists("y")) y+x else x]

如果我们有很多变量要测试,即说“y”、“z”
nm <- c('y', 'z')
DT[, if(Reduce(`&`, lapply(nm, exists))) y + z + x else x]

关于r - 测试 data.table 中是否存在变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com