[R] * within quote

Gabor Grothendieck
Tue, 15 May 2007 14:13:09 -0000

On 5/15/07, elyakhlifi mustapha <elyakhlifi_mustapha at yahoo.fr>
wrote:
> hello,
>
> I have an argument of a the list a like this
>
> > a[[18]]
> [1] "C744=(C627*C177)/100"
>
>
> and I wanna seperate the character and the mathematics symbol to use it
like a formula
> and why when I used the strsplit function i obtain as follow
>
> > strsplit(a[[18]], '\\W')
> [[1]]
> [1] "C744" ""     "C627" "C177"
""     "100"
>
> and as follow
>
> > strsplit(a[[18]], '\\w')
> [[1]]
>  [1] ""   ""   ""   ""
"=(" ""   ""   ""   "*"
""   ""   ""   ")/" ""
""
>
> I don't understand why the star "*" doesn't create space
between   "C627" and   "C177"
>

You can see what is going on by doing this:

> txt <- " C744=(C627*C177)/100"
> gsub("(\\w)", "[\\1]", txt)
[1] "
[C][7][4][4]=([C][6][2][7]*[C][1][7][7])/[1][0][0]"
> gsub("(\\W)", "[\\1]", txt)
[1] "[ ]C744[=][(]C627[*]C177[)][/]100"


The portions within [...] are the separators and everything else is output
as content separated by those separators.