首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中使用grep进行数据清理

问在R中使用grep进行数据清理
EN

Stack Overflow用户
提问于 2021-08-09 13:31:51
回答 2查看 35关注 0票数 0

我有一个带数字的变量。此数字有两种格式:在点前加零和不加零。

例如:

代码语言:javascript
复制
a <- c("0.5", ".5", "0.466", ".78")

我想要获得:

代码语言:javascript
复制
a <- c("0.5", "0.5", "0.466", "0.78")

在此之前,非常感谢您。

EN

回答 2

Stack Overflow用户

发布于 2021-08-09 13:53:50

为什么是grep?这是一个用于过滤文件的工具,而不是更改它们。我建议sed做到这一点:

代码语言:javascript
复制
sed -i 's/"\./"0."/g' try.txt

解释:

代码语言:javascript
复制
-i : do the replacement inplace (not in a separate outputfile)
/g : replace all occurence inside the file
try.txt : just the filename

替换通常写成:

代码语言:javascript
复制
s/replace/by/g

在这种情况下:

代码语言:javascript
复制
replace : "\.
by      : "0.

为什么用反斜杠?嗯,sed使用所谓的“通配符”(具有特殊含义的字符),一个简单的点表示“任何单个字符”。通过在它前面加上一个反斜杠,我可以说“它不是一个通配符,它只是表示紧跟在双引号后面的点字符”。

票数 0
EN

Stack Overflow用户

发布于 2021-08-09 16:17:31

在这里:

代码语言:javascript
复制
data$var[grep("^\\.",data$var)]<- paste0("0", data$var[grep("^\\.",data$var)])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68712949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档