子集data.frame,有时想要所有值(外卡*)

时间:2017-01-17 15:15:17

标签: r subset wildcard

我想在数据框中对这个代码中的函数进行子集化,通过传递一个变量值来传递" =="

inputdata = CensoredOriginal[CensoredOriginal$Area==5, ]

有时我想要一个子集,有时我想要整套,即何时

inputdata = CensoredOriginal[CensoredOriginal$Area==*, ]

但是R并不喜欢我使用通配符来表示"任何价值"或者整套。我做错了什么,或者有没有办法使用通配符来选择?

1 个答案:

答案 0 :(得分:0)

如果在函数内发生这种情况,则表示5 / *是函数的参数,或者在子集之前的某处设置。在这种情况下,我建议测试它:

myfunc <- function(x, ...){
  ...
  if(x != "*") {
    inputdata = CensoredOriginal[CensoredOriginal$Area == x, ]
  } else {
    inputdata = CensoredOriginal
  }
  ...

}

然后,myfunc(5)将是子集,但myfunc("*")将不会。