[问题] 如何link特定个别条件而捞出整笔资料

楼主: 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:00
inner_join 概念上就是取交集啊…所以跟%in%一样,不过要怎么把inner_join()写在dplyr的 filter 里面这我就不会了XD个人是觉得 filter(a, 住院序号 %in% b$住院序号)这样的写法满清楚易读的啦…
作者: celestialgod (天)   2019-03-14 22:43:00
基本上可以....
楼主: 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
如果用 data.table 见 https://ideone.com/7GcI92
作者: locka (locka)   2019-03-12 18:41:00
result <- filter(A, 住院序号 %in% B$住院序号)
楼主: frojet (飞稷)   2019-03-13 13:33:00
谢谢
楼主: frojet (飞稷)   2019-03-15 16:30:00
楼上的方法试过,真的也可以。

Links booklink

Contact Us: admin [ a t ] ucptt.com