作者frojet (Lucy Lee)
看板R_Language
標題[問題] 如何link特定個別條件而撈出整筆資料
時間Tue Mar 12 17:35:27 2019
[問題類型]:
程式諮詢(我想用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://webptt.com/m.aspx?n=bbs/R_Language/M.1552383335.A.A06.html
※ 編輯: frojet (180.217.142.54), 03/12/2019 17:36:03
2F:推 locka: result <- filter(A, 住院序號 %in% B$住院序號)03/12 18:41
3F:→ frojet: 謝謝03/13 13:33
4F:推 asdfrtg: 想借問用merge(b,by=id,all=F) 這樣可不可以03/14 15:49
5F:→ asdfrtg: 打錯merge(a,b,by=id,all=F) 這樣可不可以03/14 15:50
6F:推 locka: 樓上你這樣是把ab兩個dataframe合併 不是撈特定資料喔03/14 17:01
7F:→ obarisk: inner join和in的效果一樣03/14 19:03
8F:→ frojet: 所以樓上 是指%in% 換成 inner join 也可以跑出來嗎?03/14 22:39
9F:→ celestialgod: 基本上可以....03/14 22:43
10F:推 locka: inner_join 概念上就是取交集啊…所以跟%in%一樣,不過要怎03/14 22:57
11F:→ locka: 麼把inner_join()寫在dplyr的 filter 裡面這我就不會了XD03/14 22:57
12F:→ locka: 個人是覺得 filter(a, 住院序號 %in% b$住院序號)這樣的寫03/14 22:57
13F:→ locka: 法滿清楚易讀的啦…03/14 22:57
14F:→ frojet: 樓上 沒錯呢 感謝樓上教會我寫這串code03/14 23:00
15F:→ obarisk: inner join就不用filter了03/14 23:13
16F:推 locka: 抱歉4樓的大大,我講錯了 >"<03/14 23:16
17F:→ locka: merge(a,b,by=id,all=F)的確也可以取出交集的資料(事實上03/14 23:16
18F:→ locka: all參數本來預設就是F)03/14 23:16
19F:→ frojet: 樓上的方法試過,真的也可以。03/15 16:30
※ 編輯: frojet (180.217.176.105), 03/15/2019 16:37:13