我想將一個變量傳遞給二進制運算符$。假設我有這個> 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
3 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
使用[[代替$。 x$y是的好手x[["y"]]。
my_helper <- function (my_param) {
levels(diamond[[my_param]])
}
my_helper("cut")

米脂
TA貢獻1836條經驗 獲得超3個贊
嘗試這樣的事情:
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
- 3 回答
- 0 關注
- 732 瀏覽
添加回答
舉報
0/150
提交
取消