2015-11-15 60 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