[R] check for data in a data.frame and return correspondent number
Jan van der Laan
rhelp at eoos.dds.nl
Wed Mar 14 21:34:53 CET 2012
Marianna,
You can use merge for that (or match). Using merge:
MyData <- data.frame(
V1=c("red-j", "red-j", "red-j", "red-j", "red-j", "red-j"),
V4=c(10.5032, 9.3749, 10.2167, 10.8200, 9.2831, 8.2838),
redNew=c("appearance blood-n", "appearance ground-n", "appearance
sea-n", "appearance sky-n", "area chicken-n", "area color-n")
)
MyVector <- data.frame(
V1 = c("appearance blood-n", "appearance ground-n", "appearance
sea-n", "as_adj_as fire-n", "as_adj_as carrot-n", "appearance sky-n",
"area chicken-n", "area color-n")
)
merge(MyVector, MyData[, c("V4", "redNew")] , by.x="V1", by.y="redNew",
all.x=TRUE)
Btw I saw some spaces in some of your strings (I have removed these in
the example above). Be aware that the character string " appearance
ground-n" is not equal to "appearance ground-n".
HTH
Jan
On 03/14/2012 06:49 PM, mari681 wrote:
> Dear R-ers,
>
> still the newbie. With a question about coordinates of a vector appearing or
> not in a data.frame.
> I have a data.frame (MyData) with 3 columns which looks like this:
>
> V1 V4 redNew
> red-j 10.5032 appearance blood-n
> red-j 9.3749 appearance ground-n
> red-j 10.2167 appearance sea-n
> red-j 10.8200 appearance sky-n
> red-j 9.2831 area chicken-n
> red-j 8.2838 area color-n
>
> and a MyVector which includes also (but not only) the data in the 3rd
> column:
>
> " appearance blood-n"
> " appearance ground-n"
> "appearance sea-n"
> "as_adj_as fire-n"
> "as_adj_as carrot-n"
> "appearance sky-n"
> " area chicken-n"
> "area color-n"
>
> I would like to get a data.frame of 2 columns where in the first column
> there is all MyVector, and in the second column there is either the
> correspondent number found in MyData (shown in column 2) or a "0" if the
> entrance is not found.
>
> I've tried some options, among which a loop:
>
> out<-for(x in MyVector) if (x %in% MyData) print (MyData[,2])
>
> but obviously doesn't work.
> How can I select the correspondent element on column 2 for each x found in
> column 3?
>
> Suggestions in general?
> Thank you for consideration!!!
>
> Have a nice day,
> Marianna
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/check-for-data-in-a-data-frame-and-return-correspondent-number-tp4472634p4472634.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
More information about the R-help
mailing list