Skip to content

Matching

3 messages · vpas, Gabor Grothendieck, Doran, Harold

#
I understand this is an easy question, and have been playing around with grep
and the match function, but was hoping for a little incite:

I have one .csv with the following data:

names values
A        1
B        2
C        3
D        4


The second .csv is:

names
A
C


I am hoping to match all of the rows that appear in the second .csv, making
a new file that would look like this:

names values
A        1
C        3


Here is what I have so far:

my.data <- read.csv("rows.csv",sep=",")
my.selection <- read.csv("select.csv",sep=",")
matched <- match(my.data[,1], my.selection[,1])
my.data <- my.data[matched]
write.table(as.matrix(my.data), "select_RESULTS.txt")

Unfortunately, this is throwing errors in row numbers...
#
Try this:
+ A,1
+ B,2
+ C,3
+ D,4"
+ A
+ C"
names values
1     A      1
2     C      3
On Mon, Dec 22, 2008 at 11:03 AM, vpas <vic.pascow at gmail.com> wrote:
#
You don't need grep for this. Use the merge() function and make sure the
arguments all.x and all.y are considered depending on whether this is a
left or right merge.