[問題] 如何link特定個別條件而撈出整筆資料

看板R_Language作者 (Lucy Lee)時間6年前 (2019/03/12 17:35), 6年前編輯推噓5(5014)
留言19則, 6人參與, 6年前最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 我有一組近12萬筆資料(A資料),資料格式長的如下圖 https://i.imgur.com/hE29QN1.png
每個病歷號都會重複,每個病人住院,醫師會給予不同醫療處置(處置代碼) 醫師給n個醫療處置,就會重複n筆有相同病歷號、住院序號等數據 另外有一個住院序號之資料表(B資料)約500多筆,格式如下 https://i.imgur.com/QqdXNzE.png
我如何寫R程式,把B資料中有的住院序號,從A資料中海底撈月通通拉出來 切成另外一組小檔案存檔,進行後續分析? -- 當你指責別人時,不要忘記 一指指向別人,四指是指向自己 ~frojet~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.142.54 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1552383335.A.A06.html ※ 編輯: frojet (180.217.142.54), 03/12/2019 17:36:03

03/12 17:53, 6年前 , 1F
如果用 data.table 見 https://ideone.com/7GcI92
03/12 17:53, 1F

03/12 18:41, 6年前 , 2F
result <- filter(A, 住院序號 %in% B$住院序號)
03/12 18:41, 2F

03/13 13:33, 6年前 , 3F
謝謝
03/13 13:33, 3F

03/14 15:49, 6年前 , 4F
想借問用merge(b,by=id,all=F) 這樣可不可以
03/14 15:49, 4F

03/14 15:50, 6年前 , 5F
打錯merge(a,b,by=id,all=F) 這樣可不可以
03/14 15:50, 5F

03/14 17:01, 6年前 , 6F
樓上你這樣是把ab兩個dataframe合併 不是撈特定資料喔
03/14 17:01, 6F

03/14 19:03, 6年前 , 7F
inner join和in的效果一樣
03/14 19:03, 7F

03/14 22:39, 6年前 , 8F
所以樓上 是指%in% 換成 inner join 也可以跑出來嗎?
03/14 22:39, 8F

03/14 22:43, 6年前 , 9F
基本上可以....
03/14 22:43, 9F

03/14 22:57, 6年前 , 10F
inner_join 概念上就是取交集啊…所以跟%in%一樣,不過要怎
03/14 22:57, 10F

03/14 22:57, 6年前 , 11F
麼把inner_join()寫在dplyr的 filter 裡面這我就不會了XD
03/14 22:57, 11F

03/14 22:57, 6年前 , 12F
個人是覺得 filter(a, 住院序號 %in% b$住院序號)這樣的寫
03/14 22:57, 12F

03/14 22:57, 6年前 , 13F
法滿清楚易讀的啦…
03/14 22:57, 13F

03/14 23:00, 6年前 , 14F
樓上 沒錯呢 感謝樓上教會我寫這串code
03/14 23:00, 14F

03/14 23:13, 6年前 , 15F
inner join就不用filter了
03/14 23:13, 15F

03/14 23:16, 6年前 , 16F
抱歉4樓的大大,我講錯了 >"<
03/14 23:16, 16F

03/14 23:16, 6年前 , 17F
merge(a,b,by=id,all=F)的確也可以取出交集的資料(事實上
03/14 23:16, 17F

03/14 23:16, 6年前 , 18F
all參數本來預設就是F)
03/14 23:16, 18F

03/15 16:30, 6年前 , 19F
樓上的方法試過,真的也可以。
03/15 16:30, 19F
※ 編輯: frojet (180.217.176.105), 03/15/2019 16:37:13
文章代碼(AID): #1SXtrde6 (R_Language)
文章代碼(AID): #1SXtrde6 (R_Language)