[問題] dplyr - 如何用字串來操作filter

看板R_Language作者 (晴時多雲)時間10年前 (2014/02/10 22:42), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我想要一個比較一般化的方法來使用 dplyr 裡的各種 functions 這些 function 通常需要將 data frame 的 column name 傳入 我希望可以用字串來指定我想要的 column [程式範例]: library(dplyr) library(hflights) hflights_df <- tbl_df(hflights) filter(hflights_df, Month == 1, DayofMonth == 1) #No problem m="Month" d="DayofMonth" filter(hflights_df, get(m) == 1, get(d) == 1) #Error in get("Month") : object 'Month' not found -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.196.239.56

02/11 01:28, , 1F
我只會用eval, parse, paste寫....
02/11 01:28, 1F

02/11 01:28, , 2F
如果沒有其他大大有更好的方法,小弟再寫我的想法
02/11 01:28, 2F

02/12 21:15, , 3F
filter(hflights_df, hflights_df[[m]] == 1)
02/12 21:15, 3F

02/12 21:16, , 4F
也許這是你要的
02/12 21:16, 4F

02/13 02:42, , 5F
感謝樓上!! 那正是我想要的
02/13 02:42, 5F
文章代碼(AID): #1I-ELTV_ (R_Language)
文章代碼(AID): #1I-ELTV_ (R_Language)