作者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/cn.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