繁体   English   中英

如何使用gsub清除数据中的字母?

[英]how can I clean letter from my data using gsub?

我有大数据集。 此数据是字母和数字在一起。 我想从数字中删除所有字母。

marker g1 g2 g3
m1 0.2AA 0.7CC 0.2CC
m2 0.3TT 0.5GG 0.3TT

我用这些命令

data <- read.table(file.choose(), header=T)
a <- gsub("AA", "", data) # when i wanted to remove all AA

但是当我打开一个时,我发现所有数据都是没有小数的数字和不同的数字,例如

152 1265 120 1254 

有什么帮助吗? 提前致谢

如果我对您的理解正确,那么可以选择。

library(data.table)
DT <- data.table(C1=replicate(3, paste0(round(runif(1), 2L), paste0(sample(LETTERS,2), collapse = ""))),
                 C2=replicate(3, paste0(round(runif(1), 2L), paste0(sample(LETTERS,2), collapse = ""))), 
                 C3=replicate(3, paste0(round(runif(1), 2L), paste0(sample(LETTERS,2), collapse = ""))))
       C1     C2     C3
1: 0.35TP 0.86DT  0.6DM
2: 0.52OG 0.39KJ 0.98CA
3: 0.27RT 0.62IR 0.28WJ
DT
DT[, lapply(.SD, function(x){gsub("[^\\.\\d]", "", x, perl = T) }), .SDcols=1:3]
     C1   C2   C3
1: 0.35 0.86  0.6
2: 0.52 0.39 0.98
3: 0.27 0.62 0.28

正则表达式将删除数字和字符“。”以外的所有内容,因为您需要使用小数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM