Follow-on question: is there a way to do this for higher-dimensional (i.e.
more than 2 dimensions) arrays?


On Thu, Jun 25, 2009 at 10:17 AM, Rama Ramakrishnan <r...@alum.mit.edu>wrote:

> That works!! Very nice way to do it! Thank you, Henrique!
> Rama Ramakrishnan
>
>
> On Thu, Jun 25, 2009 at 10:11 AM, Henrique Dallazuanna 
> <www...@gmail.com>wrote:
>
>> Try this:
>>
>> y$values <- diag(x[y$ltrs, y$mnths])
>>
>> On Thu, Jun 25, 2009 at 11:02 AM, Rama Ramakrishnan <r...@alum.mit.edu>wrote:
>>
>>> Dear R-Users,
>>> I need to lookup values from a 2-d table using the row names and column
>>> names as indices. I was wondering if there's a way to do this without an
>>> explicit loop.
>>>
>>> Example:
>>> #x is the 2-d table that holds the values
>>>
>>> x <- matrix(rnorm(26*12),nrow=26)
>>>
>>> rownames(x) <- letters
>>>
>>> colnames(x) <- month.name
>>>
>>>
>>> #y is a data frame that has the "keys" I want to use as indices into x
>>>
>>> y <- data.frame(ltrs=sample(letters,5),mnths=sample(month.name
>>> ,5),values=0)
>>>
>>>
>>> #I want to fill in the "values" column using the "ltrs" and "mnths"
>>> columns
>>> as keys to look up
>>>
>>> # the associated value from x
>>>
>>> #One way to do this is with a FOR loop
>>>
>>> for (i in 1:nrow(y)) {y$val[i] <- x[y$ltrs[i],y$mnths[i]]}
>>>
>>>
>>> My question: Is there a more efficient way (e.g., one without using an
>>> explicit loop) to do this?
>>>
>>>
>>> Thanks in advance!
>>>
>>>
>>> -Rama Ramakrishnan
>>>
>>>        [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help@r-project.org 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.
>>>
>>
>>
>>
>> --
>> Henrique Dallazuanna
>> Curitiba-Paraná-Brasil
>> 25° 25' 40" S 49° 16' 22" O
>>
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to