[R] attempted merge() returns: cannot coerce type 'closure' to vector of type 'any'
Karl Brand
k.brand at erasmusmc.nl
Thu Dec 2 11:22:15 CET 2010
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
More information about the R-help
mailing list