Skip to content
Back to formatted view

Raw Message

Message-ID: <1362754038.3419.YahooMailNeo@web142603.mail.bf1.yahoo.com>
Date: 2013-03-08T14:47:18Z
From: arun
Subject: Substitute value
In-Reply-To: <1362738198311-4660699.post@n4.nabble.com>

Hi, 
try this: 
sim.df<-data.frame(sim.code,sim.val,stringsAsFactors=FALSE) 
sim.df[,1][-grep("\\d+$",sim.df[,1])]<- paste(sim.df[,1][-grep("\\d+$",sim.df[,1])] , 1,sep="") 
sim.df 
# ? ? sim.code sim.val 
#1 1.1234.1a.1 ? ? ? 4 
#2 1.1234.1a.2 ? ? ? 5 
#3 1.3245.2c.5 ? ? ? 3 
#4 4.6743.3c.1 ? ? ? 6 
#5 4.3254.6b.4 ? ? ? 4 
#6 3.5463.2a.1 ? ? ? 7 
A.K. 



----- Original Message -----
From: chris201 <chris.r.bennett at btinternet.com>
To: r-help at r-project.org
Cc: 
Sent: Friday, March 8, 2013 5:23 AM
Subject: [R] Substitute value

Hi,
I have a large data frame and within this there is one column which contains
individual codes (eg. 1.1234.2a.2).? I am splitting these codes into their 4
components using strsplit (eg. "1", "1234", "2a", "2").? However there are
some individual codes which do not have a last component (eg. 2.4356.3b. ),
I want to give these codes a "1" as their last component (eg. 2.4356.3b.1)
but I can't get it to work.

This is my example and attempt:

sim.code<-c("1.1234.1a.1","1.1234.1a.2","1.3245.2c.5","4.6743.3c.","4.3254.6b.4","3.5463.2a.")
sim.val<-c(4,5,3,6,4,7)
sim.df<-data.frame(sim.code,sim.val)

sim.df$sim.code2<-sub(".$",".1",sim.df$sim.code)
sim.df

but this changes all the ends to ".1"

Thanks,
Chris 



--
View this message in context: http://r.789695.n4.nabble.com/Substitute-value-tp4660699.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.