r - 从一列名称中创建一列首字母作为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, "[A-Z]", simplify = )
我会得到一个带有简化 = TRUE 的所有大写字母的列表:
[,1] [,2] [,3] [,4]
[1,] "W" "H" "" ""
[2,] "O" "" "" ""
[3,] "B" "G" "N" ""
[4,] "W" "T" "F" "D"
[5,] "" "" "" ""
或使用简化 = 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" ""
推荐阅读
- python - 尝试根据基于 django 的投票应用教程安装我自己的包
- solidity - 不允许从“literal_string”到“字符串存储指针”的显式类型转换
- php - 我想根据下拉选择列表显示数据
- r - R Shiny:如何在 DT::renderDataTable 中添加分页
- unicode - 有多少种 Unicode 编码,它们都还在使用吗?
- javascript - 在指令和控制器中使用 ng-model
- javascript - JSP Json ArrayList 转 JavaScript 列表
- sqlite - SQLite 选择列名包含字符串的数据?
- c++ - 执行 strcpy 时出现分段错误错误
- jenkins - 无法使用 Web Sphere Deployement(EAR 路径)确定参数化 Jenkins 作业中的参数值