[R] indexing
Tony Plate
tplate at acm.org
Thu Feb 1 17:44:28 CET 2007
> a <- data.frame(value=c(6.5,7.5,8.5,12.0),class=c(1,3,5,2))
> x <- c(1,1,2,7,6,5,4,3,2,2,2)
> match(x, a$class)
[1] 1 1 4 NA NA 3 NA 2 4 4 4
> a[match(x, a$class), "value"]
[1] 6.5 6.5 12.0 NA NA 8.5 NA 7.5 12.0 12.0 12.0
>
-- Tony Plate
javier garcia-pintado wrote:
> Hello,
> In a nutshell, I've got a data.frame like this:
>
>
>>assignation <- data.frame(value=c(6.5,7.5,8.5,12.0),class=c(1,3,5,2))
>>assignation
>
> value class
> 1 6.5 1
> 2 7.5 3
> 3 8.5 5
> 4 12.0 2
>
>>
>
>
> and a long vector of classes like this:
>
>
>>x <- c(1,1,2,7,6,5,4,3,2,2,2...)
>
>
> And would like to obtain a vector of length = length(x), with the
> corresponding values extracted from assignation table. Like this:
>
>>x.value
>
> [1] 6.5 6.5 12.0 NA NA 8.5 NA 7.5 12.0 12.0 12.0
>
> Could you help me with an elegant way to do this ?
> (I just can do it with looping for each class in the assignation table,
> what a think is not perfect in R's sense)
>
> Wishes,
> Javier
>
>
> ------------------------------------------------------------------------
>
> ______________________________________________
> 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.
More information about the R-help
mailing list