簡體   English   中英

當我在 dplyr 中使用完全連接時,為什么這些值沒有連接?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM