簡體   English   中英

從名稱列創建首字母縮寫列作為R中的字符串

[英]Create a column of initials from a column of names as a string in R

這是我要從中提取大寫字母的df示例:

df <- data.frame(a = c(1:5), b = c("Words are Here", "Okay", "Be Good Now", "WTF are you Doing", "it's good"))

當我使用str_extract_all(df$b, "[AZ]", simplify = )我得到了所有大寫的清單,其中str_extract_all(df$b, "[AZ]", simplify = ) = TRUE:

    [,1] [,2] [,3] [,4]
[1,] "W"  "H"  ""   ""  
[2,] "O"  ""   ""   ""  
[3,] "B"  "G"  "N"  ""  
[4,] "W"  "T"  "F"  "D" 
[5,] ""   ""   ""   ""  

或用simple = FALSE:

[[1]]
[1] "W" "H"

[[2]]
[1] "O"

[[3]]
[1] "B" "G" "N"

[[4]]
[1] "W" "T" "F" "D"

[[5]]
character(0)

我不知道如何采用這些方法來獲得我想要的輸出,它是一個像這樣的向量:

("WH", "O", "BGN", "WTFD", "")

我們可以使用gsub匹配一個或多個不是大寫字母的字符,並將其替換為空白( ""

gsub("[^A-Z]+", "", df$b)
#[1] "WH"   "O"    "BGN"  "WTFD" ""    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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