Re: [問題] 比對後產生新欄位 與 值

看板R_Language作者 (天)時間10年前 (2015/12/08 16:28), 10年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《psinqoo (零度空間)》之銘言: : : - 問題: 當你想要問問題時,請使用這個類別 : : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 使用者(已經有用R 做過不少作品) : [問題敘述]: : : 我想問 : 表一比對表二後,產生新欄位,並貼上值 或 Y / N : 我用 merge 然後,又修修剪剪貼貼,似乎應該不是這樣 : 用SQL是可以做,但我想從SQL撈資料後,在R上面做 : 表一 表二 : 代號 編碼 代號 編碼 : A 02123 C 76545 : D 34567 D 34567 : E 34871 E 34871 : E 34871 : B 12345 : C 76545 : D 34567 : E 34871 : F 32111 : G 98123 : H 45694 : C 76545 : D 34567 : E 34871 : F 32111 : F 32111 : G 98123 : H 45694 : 變成這樣 : 代號 編碼 比對 : A 02123 N : D 34567 Y : E 34871 Y : E 34871 Y : B 12345 N : C 76545 Y : D 34567 Y : E 34871 Y : F 32111 N : G 98123 N : H 45694 N : C 76545 Y : D 34567 Y : E 34871 Y : F 32111 N : F 32111 N : G 98123 N : H 45694 N : : [程式範例]: : : 張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題 : : [環境敘述]: : : : [關鍵字]: : 合併 : 比對 : match : merge : : 沒有其他column下這樣就可以搞定了: library(dplyr) df_A = data.frame(code = sample(LETTERS[1:10], 100, TRUE), ID = sample(1:(1e5-1), 100, TRUE)) df_B = df_A[1:5,] out = bind_rows(df_A, df_B) %>% mutate(check = duplicated(., fromLast =TRUE), check2 = duplicated(.)) %>% filter(!check2) %>% select(-check2) 有其他column的話就擷取要比對的部分,然後做出上面的out,取out$check併回去 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.74.87 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1449563311.A.901.html

12/08 17:38, , 1F
謝謝~~猴塞雷~~~ 太強了
12/08 17:38, 1F
還好啦,剛好想到這招而已QQ ※ 編輯: celestialgod (140.109.74.87), 12/08/2015 17:41:11

12/09 08:47, , 2F
加一個全部都是N的column,把intersect的位置換成y也可以
12/09 08:47, 2F
文章代碼(AID): #1MPfIla1 (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1MPfIla1 (R_Language)