[R] Replace / with - in date

David Winsemius dwinsemius at comcast.net
Thu Apr 15 20:08:57 CEST 2010


On Apr 15, 2010, at 1:51 PM, prem_R wrote:

>
> Hi,every one .I have searched the solutions in the forum  for  
> replacing my
> date value which is in a data frame  ,01/01/2000 to 01-01-2000 using  
> replace
> function but got the following warning message
> x<-"2000/01/01"
> xd<-as.data.frame(x)
> xd$x<-replace(xd$x,xd$x=="/","-")

The replace function does not work with factors, it works with  
(complete) vectors, not substrings. It's also a real hassle to do such  
operations on factors, so just use character vectors and try gsub  
instead:

 > x<-"2000/01/01"
 > xd<-as.data.frame(x, stringsAsFactors=FALSE)
 > xd$x2<-gsub("/","-", xd$x)
 > xd
            x         x2
1 2000/01/01 2000-01-01

>
>
> Warning message:
> In `[<-.factor`(`*tmp*`, list, value = "-") :
>  invalid factor level, NAs generated
>
> Is there any other method of doing it? or am i missing something?.  
> please
> let me know if you need any more information.
>
> Thanks.
>
> Prem
> -- 
> View this message in context: http://n4.nabble.com/Replace-with-in-date-tp1911391p1911391.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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list