[英]R select column of data frame by name
我知道使用data$column
選擇一列數據框。 我的問題 - 有沒有辦法動態地創建一個函數並傳遞數據, columnName
作為參數並返回結果
fnGetColumnData (data, columnName) {
data$columnName
}
將代碼封裝在函數中時,上面的代碼不起作用。 但是,如果我寫data$"columnName"
那么它的工作原理。 有沒有辦法封裝這個?
嘗試這個:
select_col<-function(df,colname){
colname<-deparse(substitute(colname))
df[colname]
}
select_col(iris,Species)
使用dplyr
和rlang
:
library(dplyr)
library(rlang)
fnGetColumnData = function(data, columnName){
colname_quo = enquo(columnName)
pull(data, !!colname_quo)
}
輸出:
> fnGetColumnData(mtcars, "cyl")
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
> fnGetColumnData(mtcars, cyl)
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.