Cheers Bill. You got me halfway, since: > temp <- merge(x=x, y=y[,17, drop=FALSE], by="rownames", sort=FALSE) Error in fix.by(by.x, x) : 'by' must specify valid column(s) but, using "row.names" instead of "rownames", like: > temp <- merge(x=x, y=y[,17, drop=FALSE], by="row.names", sort=FALSE) works (but adds a column "Row.names"). Which seems some what counter intuitive to me since i am feeding in two matrices to the merge function, which i understand have 'rownames', not 'row.names' as data frames have, right? Although the output of merge() is a data frame... thanks again, Karl
On 12/1/2010 6:08 PM, William Dunlap wrote:
Try
by="rownames"
instead of
by=rownames
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Karl Brand Sent: Wednesday, December 01, 2010 6:35 AM To: Dimitris Rizopoulos Cc: r-help at r-project.org Subject: [R] attempted merge() returns: cannot coerce type 'closure' to vector of type 'any' Hi Dimtris and esteemed useRs, I don't understand why i get this error message when attempting to use merge() -
> temp<- merge(x, y[,17, drop=FALSE], by=rownames, sort=FALSE)
Error in as.vector(x, mode) :
cannot coerce type 'closure' to vector of type 'any'
It should work because:
> all(rownames(x[order(rownames(x)),]) ==
+ rownames(y[order(rownames(y[,17, drop=FALSE])),17, drop=FALSE]) .... [TRUNCATED] [1] TRUE also:
> class(x); class(y[,17, drop=FALSE])
[1] "matrix" [1] "matrix" Any idea why i cant use merge() in the normal way here? I'm forced to add the column using: temp.b<- cbind(x, y[match(rownames(x), rownames(y)),17]) All insights appreciated for this leaRner, cheers, Karl -- Karl Brand<k.brand at erasmusmc.nl> Department of Genetics Erasmus MC Dr Molewaterplein 50 3015 GE Rotterdam P +31 (0)10 704 3211 | F +31 (0)10 704 4743 | M +31 (0)642 777 268
______________________________________________ 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.
Karl Brand <k.brand at erasmusmc.nl> Department of Genetics Erasmus MC Dr Molewaterplein 50 3015 GE Rotterdam P +31 (0)10 704 3211 | F +31 (0)10 704 4743 | M +31 (0)642 777 268