[R-sig-Geo] paste(" /" ") and paste(" /' ") for grass command

Jaime R. Garcia Marquez jaime.garcia at uni-bonn.de
Wed Apr 22 13:35:45 CEST 2009


Dear Agustin,

I think that using the script paste("\"","Hola","\"",sep="") will do the  
job anyway. Yes, you would get "\"Hola\"" as a result but when you pass  
the script to GRASS the \ symbol will not be considered and so you will  
get the string you are looking for.

a <- "v.extract codigo_Montseny07_clump"
b <- paste("out=extract", 11917, sep="")
c <- paste("(GRIDCODE = ", 11917, ")", sep="")
c <- paste("where=\"", c, "\"",sep="")

string <- paste(a,b,c, sep=" ")
system(string)

> string
[1] "v.extract codigo_Montseny07_clump out=extract11917 where=\"(GRIDCODE  
= 11917)\""

When the command is read in GRASS the \ symbol will mean move to the next  
line in the console.

Best,

Jaime -R


On Wed, 22 Apr 2009 10:31:55 +0200, Agustin Lobo <alobolistas at gmail.com>  
wrote:

> I wish to write  "" using paste(), but
>
>> paste("\"","Hola","\"",sep="")
> [1] "\"Hola\""
>>
>
> while the same approach works with ''
>> paste("\'","Hola","\'",sep="")
> [1] "'Hola'"
>
> why this difference? how could I do it to get "Hola" ?
>
> I need this to write this string in R:
> v.extract codigo_Montseny07_clump out=extract11917 where="(GRIDCODE =
> 11917)"
>
> and pass it to grass. Something like:
> for (i in polis){
>     system("g.region vect=codigo_Montseny07_clump")
>     nomextract <- paste("extract",i,sep="")
>     grcomm <- paste("v.extract codigo_Montseny07_clump out=",nomextract,
> " where=\"(GRIDCODE = ",i,")\" ",sep="")
>     system(grcomm)
>
> ...
>
> Thanks
>
> Agus



More information about the R-sig-Geo mailing list