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
How to replace all commas with semicolon in a string
7 messages · Jun Shen, Bob Rudis, David L Carlson +2 more
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:
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
[[alternative HTML version deleted]]
______________________________________________ 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.
use gsub()
On Fri, 27 May 2016 at 17:12 Jun Shen <jun.shen.ut at gmail.com> wrote:
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
[[alternative HTML version deleted]]
______________________________________________ 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.
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:
use gsub() On Fri, 27 May 2016 at 17:12 Jun Shen <jun.shen.ut at gmail.com> wrote:
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
[[alternative HTML version deleted]]
______________________________________________ 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.
sapply(test, gsub, pattern=",", replacement=";")
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:
use gsub() On Fri, 27 May 2016 at 17:12 Jun Shen <jun.shen.ut at gmail.com> wrote:
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
[[alternative HTML version deleted]]
______________________________________________ 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.
______________________________________________ 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:
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:
use gsub() On Fri, 27 May 2016 at 17:12 Jun Shen <jun.shen.ut at gmail.com> wrote:
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
[[alternative HTML version deleted]]
______________________________________________ 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.
3 days later
Em Sex 27 mai. 2016, ?s 12:10, Jun Shen escreveu:
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.
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