On Sep 22, 2010, at 3:57 AM, Yuan Jian wrote:

hi,
can anyone tell me how to merge a vector and a matrix?
v=c(1,4,2)
names(v)=c("e","r","t")
m=matrix(c("r","t","r","s","e",5,6,7,8,9),nr=5)
colnames(m)=c("c1","c2")
I want to do like
merge(v, m, by.x="names",by.y="c1")
I got error
Error in fix.by(by.x, x) : 'by' must specify valid column(s)

When v is coerced to a data.frame, its names become row.names:

> merge(m, v, by.x="c1", by.y="row.names", all=TRUE)
  c1 c2  y
1  e  9  1
2  r  5  4
3  r  7  4
4  s  8 NA
5  t  6  2

> merge(v, m, by.y="c1", by.x="row.names", all=TRUE)
  Row.names  x c2
1         e  1  9
2         r  4  5
3         r  4  7
4         s NA  8
5         t  2  6


thanks
jian




        [[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.

David Winsemius, MD
West Hartford, CT

______________________________________________
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