仅在r中替换第一列中的特殊字符

时间:2018-11-14 16:40:35

标签: r replace

嗨,我有一个以下格式的文本文件:

            x  
M.00116    952 
M.00046  41483 
M.00033      4 

我需要替换“。”在r中带有“ _”。但是因为我无法使用此方法来做到这一点:

sub("\\.", "_", c) 

我得到这个输出

c(952, 41483, 4)

我需要一个像这样的输出:

x  
M-00116    952 
M-00046  41483 
M-00033      4

我在做什么错?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

尝试:

x <- "M.00116 952 M.00046 41483 M.00033 4"
gsub("\\.", "-", x)

编辑:

gsub替换“ sub”:

gsub("\\.", "_", data$colname)

编辑:

这对我有用:

c <- c("M.00116", "M.00046", "M.00033") 
x <- c("952", "41483", "4")

d <- cbind(c, x)

colnames(d)[2] <- ""

gsub("\\.", "_", d)

     c                
[1,] "M_00116" "952"  
[2,] "M_00046" "41483"
[3,] "M_00033" "4"    

答案 1 :(得分:0)

我们可以使用chartr中的base R

chartr('.', '-', x)
#[1] "M-00116 952 M-00046 41483 M-00033 4"

数据

x <- "M.00116 952 M.00046 41483 M.00033 4"