[英]Why are these values not joining when I use a full join in dplyr?
我正在嘗試將一個表(ab_match)中的兩列連接到另一個表(成員),兩者之間有一個相似的列。 但是,第一個表中大約一半的值根本沒有加入,我不知道為什么。
當我在兩個表之間運行反連接時,我可以看到未連接的值。
這是成員 tibble 的開頭:
`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 tibble - 學術背景中的大多數值在我試圖將 append 轉換為原始表的學科和主題列中都有對應項。
`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
在這里很難看到使用代碼的頭部,但缺少一些值。 例如,我應該在結果 tibble 的 Discipline 和 Topic 列中有一個匹配的 Public Policy 值。 然而,其他價值觀,如教育,正在加入。 我錯過了什么?
當我使用以下代碼搜索包含“公共”的字符串時:
str_detect(ab_match$`Academic Background`, "Public")
我在 output 中得到TRUE
值,但是當我使用"Public Policy"
代替"Public"
運行相同的代碼時,我只得到FALSE
值。
我想到了。 兩個列表中的編碼似乎不同。 我對使用字符串一無所知,因此很抱歉沒有使用正確的術語。 但是,當我使用以下代碼修改ab_match
時,連接工作正常:
ab_match$`Academic Background`<-str_replace_all(ab_match$`Academic Background`, "[:space:]", " ")
謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.