替换变量中的某些元素

时间:2018-11-18 12:10:24

标签: r string replace numeric

我有一个txt文件格式。我在读取和替换此文件时遇到一些问题。 当我使用时:

mrk <- read.table("mrk.txt", skip = 1, colClasses = c("numeric","character") )
str(mrk)
'data.frame':   1550 obs. of  2 variables:
$ V1: num  22079 21553  ...
$ V2: chr  "0244004434040323042220022240040200322344300043202322322202240023434432420023002200223430420004344023" "0233402242030024022334032220030340022023000034202422423202230024303343223344320303440204030303032323"   

我的问题是:

1- mrk $ V2是字符。它应该是数字形式,并且类似于字符串。

2-我应该将3和4替换为1:

mrk$V2[mrk$V2=="3"]<-"1"
mrk$V2[mrk$V2=="4"]<-"1"

它不起作用。你能帮我吗?

1 个答案:

答案 0 :(得分:0)

使用gsub进行替换

V2 <- c("0244004434040323042220022240040200322344300043202322322202240023434432420023002200223430420004344023",
        "0233402242030024022334032220030340022023000034202422423202230024303343223344320303440204030303032323")

V2 <- gsub("[3|4]", "1", V2)
as.numeric(V2)
#[1] 2.110011e+98 2.111022e+98

但是您可以考虑将参数colClassesc("numeric", "character")更改为c("numeric", "numeric")。将数据读入R时。

相关问题