[英]Issue with na.rm = TRUE when combining multiple character columns using Unite from dplyr
當嘗試使用來自 dplyr 的 unite 組合多個字符列時, na.rm = TRUE
選項不會刪除 NA。
一步步:
word1:word5
原始數據的圖像word1:word5
到一個列中: data_unite_5 <- data_original_5 %>%
unite("pentawords", word1:word5, sep=" ", na.rm=TRUE, remove=FALSE)
mutate_if(is.factor, as.character)
但這沒有用。任何建議,將不勝感激。
您誤解了na.rm
參數如何適用於unite
。 按照此處tidyverse 頁面上的示例, z
是x
和y
的unite
。
使用na.rm = FALSE
#> z x y
#> <chr> <chr> <chr>
#> 1 a_b a b
#> 2 a_NA a NA
#> 3 NA_b NA b
#> 4 NA_NA NA NA
使用na.rm = TRUE
#> z x y
#> <chr> <chr> <chr>
#> 1 "a_b" a b
#> 2 "a" a NA
#> 3 "b" NA b
#> 4 "" NA NA
因此na.rm
確定NA
值如何出現在組裝的字符串 ( pentrawords
) 中,它不會從數據中刪除行。
如果您想刪除數據集的第四行,我會推薦filter
。
data_unite_5 <- data_original_5 %>%
unite("pentawords", word1:word5, sep =" " , na.rm = TRUE, remove = FALSE) %>%
filter(pentawords != "")
這將從您的 output 中排除所有空字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.