2015-11-15 58 views
0

我有兩個來自競爭結果的數據集,每個數據集都有變量「名稱」,「學校」和「點」。合併兩個變量的數據與R中的替代

我想通過「姓名」和「學校」合併R中的這兩個數據集,因爲有些學生參加了這兩個比賽。然而,有時學校的拼寫與比賽有所不同,所以我需要合併來覆蓋不同的拼寫(默認爲第一次拼寫)。

關於如何做到這一點的想法?謝謝!

+1

'agrep'也許,一個例子會有所幫助 – rawr

回答

0

如果你能收集所有可能的拼寫錯誤的學校是這樣的:

data.frame(
    possible_spelling = c("a school", "a skool", "b schol", "b skol"), 
    actual_spelling = c("a school", "a school", "b school", "b school") 
) 

然後你就可以合併到這兩個數據集,然後由actual_spelling

加入,如果你想生成的列表執行此操作可能的學校拼寫:

library(dplyr) 
dataset_1 %>% select(school) %>% 
    bind_rows(dataset_2 %>% select(school) %>% 
    distinct %>% 
    arrange(school) %>% 
    write.csv(row.names = FALSE) 
+1

我無法預測寫作學校的所有可能的方式,也沒有完整的sch ool list(我們有很多比賽,一年以及很多學校)。我認爲我最初的問題很混亂 - 基本上我需要合併來爲學校填寫數據,如果數據不存在的話,但是如果學校沒有數據已被添加。希望清除它? –

+0

請參閱上面的編輯,以生成所有可能的拼寫列表。然後,在Excel中,爲可能的拼寫生成一列,爲實際拼寫生成一列,然後以csv的形式讀回。 – bramtayl