r - 删除字符串向量中大于 11 的所有数字 - R
问题描述
我有一列包含一些数据。如何删除该列中某个值以上的所有数字。例子:
Talkative 3
Book Master 16
Grade from Lab 10
Grade from Lab 10
Grade from Lab 10
Grade from Lab 10
Book Master 15
Post Master 20
例如在上面的示例中,我想要的结果是:
Talkative 3
Book Master
Grade from Lab 10
Grade from Lab 10
Grade from Lab 10
Grade from Lab 10
Book Master
Post Master
11 以上的所有数字都被删除。
谢谢
解决方案
一个选项是gsubfn
library(gsubfn)
df1$Col1 <- trimws(gsubfn("(\\d+)$", ~ replace(x, as.numeric(x) >11 |
as.numeric(x) < 1000, ""), df1$Col1))
df1$Col1
#[1] "Talkative 3" "Book Master" "Grade from Lab 10"
#[4] "Grade from Lab 10" "Grade from Lab 10" "Grade from Lab 10"
#[7] "Book Master" "Post Master"
数据
df1 <- structure(list(Col1 = c("Talkative 3", "Book Master 16", "Grade from Lab 10",
"Grade from Lab 10", "Grade from Lab 10", "Grade from Lab 10",
"Book Master 15", "Post Master 20")), class = "data.frame", row.names = c(NA,
-8L))
推荐阅读
- pandas - 如果我在熊猫中四舍五入到小数点后两位,我在熊猫中只得到一位小数
- python - 如何设置绘图的背景颜色和网格线的颜色?
- r - 如何在使用 ggpplot2 创建的条形图的条形图中制作和自定义部分?
- python-2.7 - AttributeError: 'NoneType' 对象没有使用 OpenCV 的属性 'shape'
- c# - 如何正确使用 SendInput() 在 C# 中模拟鼠标输入
- python - 如何从这些图像 URL 中分离出标题?
- linux - 如何循环压缩和复制文件
- typescript - 带有 type-graphql 的 NullObject 模式
- javascript - React Conditional Rendering,避免将 0 评估为 false/undefined
- nginx - 由于某种原因,位置指令似乎不起作用