[R] Using a string as a variable name - revisited

Euan Reavie euan.reavie at gmail.com
Thu Apr 1 23:24:55 CEST 2010


I would like to revisit a problem that was discussed previously (see
quoted discussion below). I am trying to do the same thing, using a
string to indicate a column with the same name. I am making "foo" a
string taken from a list of names. It matches the row where "item" =
5, and picks the corresponding "taxon"

> foo <- list$taxon[match(5,list$item)]

Let's say this returns foo as "Aulacoseira_islandica". I have another
matrix "counts" with column headers corresponding to the taxon list.
But, when I try to access the data in the Aulacoseira_islandica
column, it instead uses the data from another column. For instance...

> columndata <- counts[[foo]]

...returns the data from the wrong column. What it seems to be doing
is converting the text "Aulacoseira_islandica" to a number (25, for
some reason) and reading the count data from column number 25, instead
of from the column labelled with Aulacoseira_islandica.

If I try...

> columndata <- counts$Aulacoseira_islandica

...it works fine. Any thoughts?

-Euan
NRRI-University of Minnesota Duluth


______________________
Jason Horn-2
Oct 20, 2006; 06:28pm
[R] Using a string as a variable name

Is it possible to use a string as a variable name?  For example:

foo<="var1"
frame$foo   # frame is a data frame with with a column titled "var1"

This does not work, unfortunately.  Am I just missing the correct
syntax to make this work?

- Jason
______________________________________________
Oct 20, 2006; 06:30pm
Re: [R] Using a string as a variable name
	
frame[[foo]]

On 10/20/06, Jason Horn <[hidden email]> wrote:

> Is it possible to use a string as a variable name?  For example:
>
> foo<="var1"
> frame$foo   # frame is a data frame with with a column titled "var1"
>
> This does not work, unfortunately.  Am I just missing the correct
> syntax to make this work?
>
>
> - Jason

-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390



More information about the R-help mailing list