我正在尝试将一个表(ab_match)中的两列连接到另一张表(成员),并使两者之间有一个相似的列。但是,第一个表中大约一半的值根本没有连接,我也不知道为什么。
当我在两个表之间运行反联接时,我可以看到未联接的值。
这是成员微词的开始:
`Unique ID` `Academic Background`
<chr> <chr>
1 1014 NA
2 863 NA
3 859 Political Science
4 855 NA
5 679 NA
6 141 NA
7 5146 Sociology
8 5146 Women and Gender Studies
9 5146 Public Policy
10 5146 Education
,这里是ab_match小标题-“学术背景”中的大多数值在“学科”和“主题”列中都有对应的值,我尝试将它们附加到原始表中。
`Academic Background` Discipline Topic
<chr> <chr> <chr>
1 African American Studies African Diaspora Studies Black / African American Issues
2 Anthropology Anthropology NA
3 Biology Biology NA
4 Business Business NA
5 Civic Engagement NA Civic Engagement
6 Computer Science Computer Science NA
7 Criminal Justice NA Criminal Justice
8 Democracy NA Democracy
9 Demography Demography NA
10 Ecology Ecology NA
当我使用任何类型的联接进行联接时,这是我使用的代码:
ab <- left_join(members, ab_match, by="Academic Background")
这是我得到的结果:
`Unique ID` `Academic Background` Discipline Topic
<chr> <chr> <chr> <chr>
1 1014 NA NA NA
2 863 NA NA NA
3 859 Political Science Political Science NA
4 855 NA NA NA
5 679 NA NA NA
6 141 NA NA NA
7 5146 Sociology Sociology NA
8 5146 Women and Gender Studies Gender Studies Gender
9 5146 Public Policy NA NA
10 5146 Education Education Education
在这里很难看到使用代码的开头,但是缺少一些值。例如,我应该在产生的小标题的“学科”和“主题”列中为“公共政策”提供一个匹配值。但是,其他价值观(例如教育)也可以很好地融合在一起。我想念什么?
当我使用以下代码搜索包含“公共”的字符串时:
str_detect(ab_match$`Academic Background`, "Public")
我在输出中获得TRUE
值,但是当我使用"Public Policy"
代替"Public"
运行相同的代码时,我仅获得FALSE
值。
答案 0 :(得分:0)
我知道了。似乎两个列表中的编码不同。我对使用字符串一无所知,因此对使用不正确的术语表示歉意。但是,当我使用以下代码修改ab_match
时,该连接工作正常:
ab_match$`Academic Background`<-str_replace_all(ab_match$`Academic Background`, "[:space:]", " ")
谢谢您的帮助!