這應該是一個簡單的問題,但我無法弄清楚。我正在嘗試使用給定的變數串列來選擇資料變數,但是,應用字串拆分我得到了 8 而不是 5。顯然,額外的空格被拆分為 1、3、5 的空變數。關于如何解決這個問題的任何提示?
list <- " ethnicity_source_value race_source_value gender_source_value dx_age site"
unlist(strsplit(list, " "))
[1] "" "ethnicity_source_value" ""
[4] "race_source_value" "" "gender_source_value"
[7] "dx_age" "site"
uj5u.com熱心網友回復:
該字串已經有一個前導空格,因此我們使用trimws洗掉那些前導/滯后空格,然后將strsplitwithsplit用作一個或多個空格 ( \\s )。單詞之間可能有多個空格。
unlist(strsplit(trimws(list), "\\s "))
[1] "ethnicity_source_value" "race_source_value" "gender_source_value" "dx_age"
[5] "site"
或者另一種選擇是scan自動洗掉空格
scan(text = list, what = "", quiet = TRUE)
[1] "ethnicity_source_value" "race_source_value" "gender_source_value" "dx_age"
[5] "site"
uj5u.com熱心網友回復:
我們也可以使用str_squishfrom stringrpackage;str_squish()還減少了字串中的重復空格:
library(stringr)
unlist(strsplit(str_squish(list), " "))
[1] "ethnicity_source_value" "race_source_value"
[3] "gender_source_value" "dx_age"
[5] "site
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/419382.html
標籤:
