从r中列中的每个值中删除相同的子字符串
我正试图对文件进行一些数据清理。我试图清理的特定字段描述了它最初来自哪个文件。因此,字段中的值末尾始终有“.csv”。我想删除这部分值,但保留其余值 以下是该字段的一个示例:从r中列中的每个值中删除相同的子字符串,r,R,我正试图对文件进行一些数据清理。我试图清理的特定字段描述了它最初来自哪个文件。因此,字段中的值末尾始终有“.csv”。我想删除这部分值,但保留其余值 以下是该字段的一个示例: File Name bagel.csv donut.csv hamburger.csv carrots.csv 我希望字段看起来像这样: File Name bagel donut hamburger carrot 有没有办法在R中做到这一点?如蒙协助,将不胜感激 最好提供: 说明: 我们可以使用regex替换序列:
File Name
bagel.csv
donut.csv
hamburger.csv
carrots.csv
我希望字段看起来像这样:
File Name
bagel
donut
hamburger
carrot
有没有办法在R中做到这一点?如蒙协助,将不胜感激 最好提供: 说明: 我们可以使用
regex
替换序列:
“(\.
)后跟“csv”(csv
),后跟行尾($
)
使用空字符串(“”
)
通过遵循@ G5W的建议,我们确信,因为我们只想删除扩展,所以如果它出现在行的中间,我们不会意外地替换字符串(例如:在“函数.CSV.txt”中),我们不想替换“.cv”部分)
也可以使用<代码> dPLYRlibrary(dplyr)
df <- data.frame(FileName = c('bagel.csv','donut.csv','hamburger.csv','carrots.csv'))
df <- df %>% mutate(FileName = gsub("\\..*","",FileName))
库(dplyr)
df我们可以使用工具中的文件路径\u sans\u ext
tools::file_path_sans_ext(field)
#[1] "aa" "bb" "cc"
数据
fieldsub(“\\.csv$”,“”,field)
可能是safer@G5W你说得对,我更新了我的建议!谢谢你的评论。这很有效。谢谢。下次我一定会添加一个最小的可复制示例。态度非常好!很高兴我能帮忙!
library(dplyr)
df <- data.frame(FileName = c('bagel.csv','donut.csv','hamburger.csv','carrots.csv'))
df <- df %>% mutate(FileName = gsub("\\..*","",FileName))
tools::file_path_sans_ext(field)
#[1] "aa" "bb" "cc"
field <- c("aa.csv", "bb.csv", "cc.csv")