[問題] 找出重複的資料組

看板R_Language作者 (@_2;)時間8年前 (2015/07/02 21:48), 8年前編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) + 入門(剛開始用R對語法不熟悉) [問題敘述 資料格式如下,約有一百萬筆以上 有日期(date)、物種編號(bird_id)、物種名稱(bird_name)、數量(num 地點(place)與回報者(reporter),資料叫做"bird" 每一個旅次會有好幾筆物種與數量的資料, 現在想要以旅次為單位進行分析。 資料大概長這樣: >head(bird) date bird_id bird_name num place reporter 1 2001-01-01 201 sp1 3 金門 John 2 2001-01-01 202 sp2 2 金門 John 3 2001-01-01 205 sp3 8 金門 John 4 2001-01-01 3507 sp4 10 金門 John 5 2001-01-01 4104 sp5 1 金門 John 6 2001-01-01 4105 sp6 1 金門 John 由於一個人一天只會去一個地方一次, 目前已經想到可以用date, place, reporter做組合篩選出同一批旅次的調查資料 程式碼如下: >library('dplyr') >birdtrip <- select(bird, date, place, reporter) >birdtrip <- distinct(birdtrip, date, place, reporter) 理論上把旅次(birdtrip)編碼後就可以再對應到原來的資料當中, 但這部分還要想想怎麼寫,慢慢想應該想得出來XD 問題在於這些資料當初是在兩個不同介面蒐集的, 同一旅次的同一批資料有可能會被輸入兩次, 會出現在整個資料的不同地方,請問這要怎麼抓出來呢? 感謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.68.144 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1435844892.A.947.html ※ 編輯: helixc (223.138.68.144), 07/02/2015 21:50:55

07/02 22:00, , 1F
a=c(1,1,1);b=c(1,3,1);d = data.frame(a,b);duplicated(d
07/02 22:00, 1F

07/02 22:00, , 2F
duplicated(d)
07/02 22:00, 2F

07/02 22:01, , 3F
不太懂問題是什麼?可以舉例什麼叫做不同地方
07/02 22:01, 3F

07/02 22:01, , 4F
樓上那行跟distinct一樣效果喔~~
07/02 22:01, 4F

07/02 22:02, , 5F
d = d[!duplicated(d),]
07/02 22:02, 5F

07/02 22:07, , 6F
請問c大, distinct是哪個library? 慚愧平常不太查library.
07/02 22:07, 6F

07/02 22:46, , 7F
dplyr的 就是unique rows...
07/02 22:46, 7F

07/02 22:47, , 8F
我也很少查,所以我有先查distinct是什麼才問原PO
07/02 22:47, 8F

07/02 23:13, , 9F
distinct 是 mysql 的語法 與unique類似
07/02 23:13, 9F

07/02 23:14, , 10F
which(d %in% duplicated(d)) 應該就差不多了
07/02 23:14, 10F

07/02 23:22, , 11F
which(d %in% d[duplicated(d)])
07/02 23:22, 11F
文章代碼(AID): #1LbK4Sb7 (R_Language)
文章代碼(AID): #1LbK4Sb7 (R_Language)