Boks, M.P.M.
2006-Sep-25 16:58 UTC
[R] paste? 'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1"'
Dear R users, This command works (calling a programm -called whap- with file specifiers etc.):>system('cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1 --perm 500"', intern=TRUE)Now I need to call it from a loop to replace the "1" by different number, however I get lost using the quotes: I tried numerous versions of:>i<-1 >system(paste(c("'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt", i, " --perm 500"'", sep="" )), intern=TRUE)However no luck! I would be gratefull for any help. Thanks, Marco
Marc Schwartz (via MN)
2006-Sep-25 18:39 UTC
[R] paste? 'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1"'
On Mon, 2006-09-25 at 18:58 +0200, Boks, M.P.M. wrote:> Dear R users, > > This command works (calling a programm -called whap- with file specifiers etc.): > > >system('cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1 --perm 500"', intern=TRUE) > > Now I need to call it from a loop to replace the "1" by different number, however I get lost using the quotes: > > I tried numerous versions of: > > >i<-1 > >system(paste(c("'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt", i, " --perm 500"'", sep="" )), intern=TRUE) > > However no luck! I would be gratefull for any help. > > Thanks, > > MarcoYou need to escape the quote (") chars in the paste()d string so that they get passed to your command properly. Also, you don't want to use c() within the paste() function, as the paste() function already concatenates the component vectors. Note: i <- 1> paste("'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt", i, " --perm 500"'", sep="")Error: syntax error in "paste("'cmd /c "c" R sees the double quote before the second 'c' as the end of the string: "'cmd /c " Now use "\" to escape the internal quotes:> paste("'cmd /c \"c:\\pheno\\whap --file c:\\pheno\\smri --alt ", i, " --perm 500\"'", sep="")[1] "'cmd /c \"c:\\pheno\\whap --file c:\\pheno\\smri --alt 1 --perm 500\"'" Use '\' to escape each of the double quotes within the string, so that R can differentiate string delimiters versus characters within the string. HTH, Marc Schwartz
Gabor Grothendieck
2006-Sep-25 20:45 UTC
[R] paste? 'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1"'
Use single outer quotes so that the inner double quotes are not interpreted as the end of the string. cmd <- 'cmd /c "...whatever..." ' system(cmd, intern = TRUE) On 9/25/06, Boks, M.P.M. <M.P.M.Boks at umcutrecht.nl> wrote:> Dear R users, > > This command works (calling a programm -called whap- with file specifiers etc.): > > >system('cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt 1 --perm 500"', intern=TRUE) > > Now I need to call it from a loop to replace the "1" by different number, however I get lost using the quotes: > > I tried numerous versions of: > > >i<-1 > >system(paste(c("'cmd /c "c:\\pheno\\whap --file c:\\pheno\\smri --alt", i, " --perm 500"'", sep="" )), intern=TRUE) > > However no luck! I would be gratefull for any help. > > Thanks, > > Marco > > ______________________________________________ > R-help at stat.math.ethz.ch 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. >
Maybe Matching Threads
- pheno package (PR#10674)
- create multiple categorical variables in a data frame using a loop
- create multiple categorical variables in a data frame using a loop
- create multiple categorical variables in a data frame using a loop
- create multiple categorical variables in a data frame using a loop