Замена некоторых элементов в переменной - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть формат файла 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 голосов
/ 18 ноября 2018

Используйте gsub для замены

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

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

Но вы можете изменить аргумент colClasses с c("numeric", "character") на c("numeric", "numeric").при чтении ваших данных в R.

...