r - 如何从R中的字符中提取数字
问题描述
我有一列的值是 C(1)、C(2)、...C(30)、C(31),我只需要提取数字。
x<-as.character(c("C(1)", "C(2)", "C(3)"))
a<-as.numeric(substr(x,3,3))
substr() 没有帮助,因为对于 2 位数字,我需要 substr 3 和 4 值。
解决方案
您可以使用正则表达式删除所有非数字字符。这可以使用不同的功能来完成。我喜欢使用stringr
包来处理字符:
library(stringr)
x <- as.character(c("C(1)", "C(2)", "C(3)"))
# Replace all non numerical characters to a empty space
y <- str_replace_all(x, "[^0-9]", "" )
a <- as.numeric(y)
推荐阅读
- hevc - Rigaya 的 NVEnc 对没有视频或音轨的文件进行编码
- python - SelectField:为什么返回“不是有效的选择错误”?
- xamarin - Xam.Plugin.Geolocator 在首次运行 iOS 14 时永远不会返回
- arduino - 暂停一个循环以在 Arduino 中运行另一个循环
- python - 使用带有 tqdm 进度条的 pafy 模块下载 YouTube 视频
- android - 从片段移动到给出错误的活动
- python - 如何检查重复列表并添加值(如果有)?
- reactjs - 如何仅阻止第三个应用程序的屏幕截图和记录
- python - 从 s3 存储桶中读取 gzip 文件
- amazon-web-services - AWS Sagemaker 训练作业卡在进行中状态