作者:icanfly2502872173_635 | 来源:互联网 | 2023-02-03 14:06
在这上面挠头。假设我正在探索汽车数据集
data(mtcars)
test_dt <- as.data.table(mtcars)
我可以使用以下类似方法轻松地将表子集化:
new_dt <- test_dt[cyl == '4', c('disp', 'hp', 'gear')]
我得到11行数据。现在,假设我要创建一个函数,在该函数中,我将要过滤的列的名称与过滤器的值一起传递,以便可以创建所需数据的任意组合。像这样:
foo <- function(colToFilter, filterValue) {
new_dt <- test_dt[colToFilter == filterValue, c('disp', 'hp', 'gear')]
return(new_dt)
}
并这样称呼它:
new_dt <- foo('cyl', '4')
该函数不会引发错误,但会返回0行。如何修复函数,以便像以前一样返回11行?TIA