Skip to content

How to replace all commas with semicolon in a string

7 messages · Jun Shen, Bob Rudis, David L Carlson +2 more

#
Dear list,

Say I have a data frame

test <- data.frame(C1=c('a,b,c,d'),C2=c('g,h,f'))

I want to replace the commas with semicolons

sub(',',';',test$C1) -> test$C1 will only replace the first comma of a string.

How do I replace them all in one run? Thanks.

Jun
#
You can use gsub() instead of sub()
On Fri, May 27, 2016 at 11:10 AM, Jun Shen <jun.shen.ut at gmail.com> wrote:
#
use gsub()
On Fri, 27 May 2016 at 17:12 Jun Shen <jun.shen.ut at gmail.com> wrote:

            

  
  
#
Thanks Ulrik and Bob for your reply.

gsub worked for one column!

If I want to replace the whole data frame, gsub doesn't seem to work. Any
idea

On Fri, May 27, 2016 at 11:14 AM, Ulrik Stervbo <ulrik.stervbo at gmail.com>
wrote:

  
  
#
C1        C2 
"a;b;c;d"   "g;h;f" 

-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Jun Shen
Sent: Friday, May 27, 2016 10:21 AM
To: Ulrik Stervbo
Cc: R-help
Subject: Re: [R] How to replace all commas with semicolon in a string

Thanks Ulrik and Bob for your reply.

gsub worked for one column!

If I want to replace the whole data frame, gsub doesn't seem to work. Any
idea

On Fri, May 27, 2016 at 11:14 AM, Ulrik Stervbo <ulrik.stervbo at gmail.com>
wrote:
______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
#
If your data.frame is a mix you can loop over each column - along the lines
of:

library(plyr)

adply(test, 2, function(x){
if(!is.numeric(x[[1]]){
gsub(",", ";", x[[1]])
}else{
x[[1]]
}
})

Ulrik
On Fri, 27 May 2016 at 17:21 Jun Shen <jun.shen.ut at gmail.com> wrote:

            

  
  
3 days later
#
Em Sex 27 mai. 2016, ?s 12:10, Jun Shen escreveu:
If it's a CSV, you may read the file and then write it again (second
file name, for safety) with write.csv2.

HTH,

Leonardo Ferreira Fontenelle, MD, MPH
PhD candidate in epidemiology, Federal University of Pelotas
Professor of medicine, Vila Velha University
Legislative consultant in health, Municipal Chamber of Vit?ria