Re: [問題] dplyr之filter同時多個值之應用

看板R_Language作者 (天)時間8年前 (2015/12/24 01:06), 8年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《girl5566 (5566520)》之銘言: : 文章分類提示: : - 問題: 當你想要問問題時,請使用這個類別 : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述]: : 不太懂為何temp <- data %>% filter(NUMBER == c(0,1))找出來的數量會是錯的 : 但這樣做的確是有撈出含有0或1的資料 但是好像會不完全!? : 想詢問temp <- data %>% filter(NUMBER == c(0,1)) 所找出來的會是什麼? R會自動補齊長度,所以 如果NUMBER是1,2,3,4,5,6 就是在計算 c(1,2,3,4,5,6) == c(0,1,0,1,0,1) 你如果是要0或1 應該是用 data %>% filter(NUMBER %in% c(0,1)) 較為合適 去?'%in%'看看吧 不然dplyr可以用 data %>% filter(NUMBER==0 | NUMBER==1) : [程式範例]: : > temp <- data %>% filter(NUMBER == 0) : > print(nrow(temp)) : [1] 939 : > temp <- data %>% filter(NUMBER == 1) : > print(nrow(temp)) : [1] 315 : > temp <- data %>% filter(NUMBER == 0 | NUMBER == 1) : > print(nrow(temp)) : [1] 1254 : > temp <- data %>% filter(NUMBER == c(0,1)) : > print(nrow(temp)) : [1] 626 : [環境敘述]: : R 3.2.2,Win7 64bit : [關鍵字]: : dplyr,filter -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.154.163 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1450890361.A.7A4.html ※ 編輯: celestialgod (180.218.154.163), 12/24/2015 02:02:12

12/24 22:51, , 1F
感謝解說
12/24 22:51, 1F
文章代碼(AID): #1MUjHvUa (R_Language)
文章代碼(AID): #1MUjHvUa (R_Language)