[R] Replacing strings to numbers
arun
smartpink111 at yahoo.com
Tue Jul 2 15:02:46 CEST 2013
Hi,
Not sure how your data looks like. May be this helps.
dat1<- read.table(text="
col1
AA-50
AT-34
TT-57
TT-45
TA-42
",sep="",header=TRUE,stringsAsFactors=FALSE)
vec1<-gsub("\\-.*","",dat1[,1])
vec2<- ifelse(vec1=="AA",-1,ifelse(vec1=="AT",0, ifelse(vec1=="TT",1,NA)))
library(stringr)
abs(vec2-as.numeric(unlist( str_extract_all(dat1[,1],"[0-9]+"))))
#[1] 51 34 56 44 NA
A.K.
----- Original Message -----
From: Jeremy Ng <jeremy.ng.wk1990 at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Tuesday, July 2, 2013 8:31 AM
Subject: [R] Replacing strings to numbers
Hi guys,
I was wondering if any one is able to help me on a problem that I was stuck
with for a long time. It involves the replacement of character strings with
numbers. The character string can take on only 3 possible values, for
instance:
AA
AT
TT
I would want R to replace AT with 0. Between AA and TT, I want to compare
the frequency of either value, and then for the one which occurs more, I
want it to be replaced with 1, and the other with -1. So using the same
example, say, I have
AA - 50
AT-34
TT- 57
I would want R to substitute it in this way:
AA= -1
AT=0
TT = 1
The strings are not necessarily AA,AT, or TT.
Any ideas?
Thanks!
Jeremy
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list