这可能有点奇怪,但在我使用其参数进行过滤的函数中使用 data.table
时,我经常遇到这种情况。
假设您有一个变量,您希望将其值与 data.table
的列进行比较并进行过滤。如果变量名与列名相同怎么办?
示例和我尝试过的事情:
DT <- data.table(mtcars)
cyl <- 4
# intended: filter rows where column "cyl" equals the value of variable cyl
# this does not work
DT[cyl == (cyl)]
# this does not work either
DT[cyl == `cyl`]
最佳答案
Data.table 运行在数据表本身的环境中,因此您可能需要指定要从何处获取值
DT[cyl == get("cyl", envir = parent.frame())]
关于r - data.table - 基于名称为列的变量的子集化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40641629/