楼主:
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楼上的方法试过,真的也可以。