作者yaowei2010 (yaowei)
看板R_Language
標題[問題] 重複配對
時間Thu Aug 28 15:03:06 2014
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
由於match只會回傳第一個配對到的位子,多重配對我估狗過後似乎沒有特定
如match的function,不知道該怎麼辦,請問有這樣的function嗎(如例子
[程式範例]:
[data 1]
name location
A 1
B 1
C 2
D 3
[data 2]
name2 location
a1 1
a2 1
a3 1
a4 2
a5 2
a6 2
a7 2
a8 3
依照location做match後(不是用match())
name match
A a1
A a2
A a3
B a1
B a2
B a3
C a4
C a5
C a6
C a7
D a8
為了節省大大們的麻煩
(不需用給我完整的code,可以給我hint或有獨特的function即可)
感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.174.174
※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1409209389.A.3CC.html
→ yaowei2010: 因為我實際data很大,merge不知為何記憶體爆炸 08/28 15:04
推 obarisk: 依location做卡氏積 08/28 15:35
→ yaowei2010: 卡式積@_@? 08/28 15:44
推 cywhale: 用grep可以傳multip match 08/28 21:08
推 pinpin: 可試試data.table 不然可能要用像ff這種處理big data的pkg 08/28 23:59
推 summitstudio: library(dplyr); left_join(data1,data2,by='loc') 08/29 00:52
推 Wush978: 推樓上,一直想po被搶先了. 另外附註一下, dplyr效能很好 08/29 23:35
→ Wush978: 我實際測過兩個百萬table的left_join只需要半分鐘左右 08/29 23:36
→ yaowei2010: 感恩 沒想到package強大很多 我寫老半天效能超差>< 09/02 16:13