Dear R helpers
Suppose,
x = c(0, 1, 2, 3)
y = c("A", "B", "C", "D")
z = c(1, 3)
For given values of z, I need to the values of y. So I should get "B"
and "D".
I tried doing
y[x][z] but it gives
> y[x][z]
[1] "A" "C"
Kindly guide.
Regards
Vincy
[[alternative HTML version deleted]]
Hello Vincy.
You probably want
y[match(z,x)]
Or, more instructional:
whereAreZInX<-match(z, x)
y[whereAreZInX]
HTH,
Nick Sabbe
--
ping: nick.sabbe at ugent.be
link: http://biomath.ugent.be
wink: A1.056, Coupure Links 653, 9000 Gent
ring: 09/264.59.36
-- Do Not Disapprove
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On
Behalf Of Vincy Pyne
Sent: woensdag 16 maart 2011 10:42
To: r-help at r-project.org
Subject: [R] One to One Matching multiple vectors
Dear R helpers
Suppose,
x = c(0, 1, 2, 3)
y = c("A", "B", "C", "D")
z = c(1, 3)
For given values of z, I need to the values of y. So I should get "B"
and
"D".
I tried doing
y[x][z] but it gives
> y[x][z]
[1] "A" "C"
Kindly guide.
Regards
Vincy
[[alternative HTML version deleted]]
y[which(x %in% z)] On 3/16/2011 10:42 AM, Vincy Pyne wrote:> Dear R helpers > > Suppose, > > x = c(0, 1, 2, 3) > > y = c("A", "B", "C", "D") > > z = c(1, 3) > > For given values of z, I need to the values of y. So I should get "B" and "D". > > I tried doing > > y[x][z] but it gives > >> y[x][z] > [1] "A" "C" > > Kindly guide. > > Regards > > Vincy > > > > [[alternative HTML version deleted]] > > > > > ______________________________________________ > R-help at 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.