当我在dplyr中使用完全联接时,为什么这些值没有联接?

当我在dplyr中使用完全联接时,为什么这些值没有联接?,r,dataframe,dplyr,R,Dataframe,Dplyr,我试图将两列从一个表(ab_match)连接到另一个表(members),两个表之间有一个类似的列。然而,第一个表中大约有一半的值根本没有连接,我不知道为什么 当我在两个表之间运行反连接时,我可以看到没有连接的值 以下是tibble成员的开头: `Unique ID``学术背景` 1014纳 2863NA 3859政治学 4855纳 5679纳 61414NA 75146社会学 85146妇女与性别研究 95146公共政策 105146教育 这里是ab_match tibble-学术背景中的大

我试图将两列从一个表(ab_match)连接到另一个表(members),两个表之间有一个类似的列。然而,第一个表中大约有一半的值根本没有连接,我不知道为什么

当我在两个表之间运行反连接时,我可以看到没有连接的值

以下是tibble成员的开头:

`Unique ID``学术背景`
1014纳
2863NA
3859政治学
4855纳
5679纳
61414NA
75146社会学
85146妇女与性别研究
95146公共政策
105146教育
这里是ab_match tibble-学术背景中的大多数值在规程和主题列中都有对应项,我正试图将它们附加到原始表中

`学术背景'学科主题
1非裔美国人研究非裔美国人研究黑人/非裔美国人问题
2人类学
3生物学
4商业
5公民参与NA公民参与
6计算机科学计算机科学NA
7刑事司法与刑事司法
8民主与民主
9人口统计学
10生态学
当我使用任何类型的联接进行联接时,我使用以下代码:


ab我明白了。这两个列表中的编码似乎不同。我真的不知道如何使用字符串,所以很抱歉没有使用正确的术语。但是,当我使用以下代码修改
ab_match
时,联接工作正常:

str_detect(ab_match$`Academic Background`, "Public")
ab_match$`Academic Background`<-str_replace_all(ab_match$`Academic Background`, "[:space:]", " ")

ab_match$`Academic Background`子集
不匹配的尾随空格是什么?也许你可以在问题的主体部分分享
库(tidyverse)的结果;ab_match tibble%%>%filter(
scholar Background`>%str_detect(“Public”)%%>%dput()`这将让我们确切地看到
ab_match tibble
是如何存储公共策略行的。如果
head
没有显示问题……不要使用
head
。可能会显示
成员[c(1,2,20:24)]
您可以在其中特别选择显示问题的行。此外,请仔细查看您的数据以确保没有空格差异。查看
成员$`Academic Background`
以确保您没有类似
的“公共政策”之类的内容
带有一个额外的空格。这不太可能是由空格引起的:如果字符串有前导空格或尾随空格,则
tibble
print方法会在字符串周围显式显示双引号,例如
tibble::tibble(x=“y”)
@MikkoMarttila但我们没有看到问题项——它们没有打印出来,所以谁知道呢。不太可能,但也可能是内部空间,
“公共政策”
有2个空格,而
“公共政策”
有1个空格。