在R中使用变量定义$ right参数

我想将一个变量传递给二进制运算符$。


假设我有这个


> levels(diamonds$cut)

[1] "Fair"      "Good"      "Very Good" "Premium"   "Ideal" 

然后我想做一个函数,将$选择器作为参数


my_helper <- function (my_param) {

  levels(diamonds$my_param)

}

但这行不通


> my_helper(cut)

NULL


> my_helper("cut")

NULL


aluckdog
浏览 684回答 3
3回答

潇潇雨雨

使用[[代替$。 x$y是的好手x[["y"]]。my_helper <- function (my_param) {&nbsp; levels(diamond[[my_param]])}my_helper("cut")

米脂

尝试这样的事情:dat = data.frame(one=rep(1,10), two=rep(2,10), three=rep(3,10))myvar="one"dat[,names(dat)==myvar]这应该返回数据帧数据的第一列/变量dat$one --> [1] 1 1 1 1 1 1 1 1 1 1
打开App,查看更多内容
随时随地看视频慕课网APP