作者:
frojet (飛稷)
2019-03-12 17:35:27[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
我有一組近12萬筆資料(A資料),資料格式長的如下圖
https://i.imgur.com/hE29QN1.png
每個病歷號都會重複,每個病人住院,醫師會給予不同醫療處置(處置代碼)
醫師給n個醫療處置,就會重複n筆有相同病歷號、住院序號等數據
另外有一個住院序號之資料表(B資料)約500多筆,格式如下
https://i.imgur.com/QqdXNzE.png
我如何寫R程式,把B資料中有的住院序號,從A資料中海底撈月通通拉出來
切成另外一組小檔案存檔,進行後續分析?
作者:
locka (locka)
2019-03-14 23:16:00抱歉4樓的大大,我講錯了 >"<merge(a,b,by=id,all=F)的確也可以取出交集的資料(事實上all參數本來預設就是F)
作者: obarisk (OSWALT) 2019-03-14 23:13:00
inner join就不用filter了
作者:
frojet (飛稷)
2019-03-14 23:00:00樓上 沒錯呢 感謝樓上教會我寫這串code
作者:
locka (locka)
2019-03-14 22:57:00inner_join 概念上就是取交集啊…所以跟%in%一樣,不過要怎麼把inner_join()寫在dplyr的 filter 裡面這我就不會了XD個人是覺得 filter(a, 住院序號 %in% b$住院序號)這樣的寫法滿清楚易讀的啦…
作者:
frojet (飛稷)
2019-03-14 22:39:00所以樓上 是指%in% 換成 inner join 也可以跑出來嗎?
作者: obarisk (OSWALT) 2019-03-14 19:03:00
inner join和in的效果一樣
作者:
asdfrtg (asdfrtg)
2019-03-14 15:49:00想借問用merge(b,by=id,all=F) 這樣可不可以打錯merge(a,b,by=id,all=F) 這樣可不可以
作者:
locka (locka)
2019-03-14 17:01:00樓上你這樣是把ab兩個dataframe合併 不是撈特定資料喔
作者:
andrew43 (討厭有好心推文後刪文者)
2019-03-12 17:53:00作者:
locka (locka)
2019-03-12 18:41:00result <- filter(A, 住院序號 %in% B$住院序號)
作者:
frojet (飛稷)
2019-03-13 13:33:00謝謝
作者:
frojet (飛稷)
2019-03-15 16:30:00樓上的方法試過,真的也可以。