在r中合并两列具有小写和大写字母的单词

时间:2018-01-30 17:06:50

标签: r merge word

我有两个数据框,我想使用两个列合并它们,如下所示:

a <- data.frame(A = c("Ali", "Should Be", "Calif")))
b <- data.frame(B = c("ALI", "CALIF", "SHOULD BE"))

如果可以在r?

中进行,请告诉我

1 个答案:

答案 0 :(得分:1)

一种方法是使用public void erstelleBaum (Tree pTree, List<Integer> pZiegel, List<Integer> pFugen, int tiefe) { if (tiefe / n >= maxHoehe) { System.out.println("hi"); mauerGefunden = true; alleFugen = pFugen; } if (!mauerGefunden) { pZiegel.toFirst(); while (pZiegel.hasAccess() && !mauerGefunden) { boolean ziegelHinzufügen = false; möglich = true; aktZiegel = pZiegel.getContent(); // ... if (möglich) { // ... pZiegel.remove(); if (pZiegel.isEmpty()) { ziegelHinzufügen = true; pZiegel = new List(); for (int i = 1; i <= n; i++) { pZiegel.append(i); } } // Recursion erstelleBaum(neuesBlatt, pZiegel, neueFugen, neueTiefe); // Here, it tells me that pZiegel is empty (at recursion depth 17) if (ziegelHinzufügen) { pZiegel.toFirst(); while (pZiegel.hasAccess()) { pZiegel.remove(); } pZiegel.append(aktZiegel); } else { pZiegel.toFirst(); while (pZiegel.hasAccess() && pZiegel.getContent() < aktZiegel) { pZiegel.next(); } if (pZiegel.hasAccess()) { pZiegel.insert(aktZiegel); pZiegel.toFirst(); while (pZiegel.getContent() != aktZiegel) { pZiegel.next(); } } else { pZiegel.toLast(); pZiegel.append(aktZiegel); pZiegel.toLast(); } } } pZiegel.next(); } } // Here, pZiegel contained one number (at recursion depth 18) } 中的tolower对您的角色值进行资本化,然后执行base R

merge

这是你需要的吗?

编辑library(dplyr) # for mutating df1 <- df1 %>% mutate(A = tolower(A)) df2 <- df2 %>% mutate(B = tolower(B)) df3 <- merge(df1, df2, by.x = "A", by.y = "B") df3 A 1 ali 2 calif 3 should be 位当然不是必需的。如果要在dplyr中完成所有操作,base Rdf1$A=tolower(df1$A) - 正如评论中所建议的那样 - 也可以正常工作。