R-package: How to load a matrix from file to Limma for ebays ??
Jose de las Heras
via methods%40net.bio.net
(by josenet from tiscali.co.uk)
Tue Jul 17 05:18:53 EST 2007
<polen.t2006 from freenet.de> wrote in message
news:1184594807.844241.40020 from d55g2000hsg.googlegroups.com...
> Hi all,
>
> I need a little help in R for determination of differentially
> expressed genes using limma.
>
> Example: I have a simple tab-delimeted text-file containg normalized
> red/green-Ratio-values of three independent repetitions. In this file
> first row contains the names of the experiments and first columns the
> names of the probes. Sometimes there are missing values.
>
> I tried to load the text-file into an object to handle it with limma
> for some statistics to determine differentially expressed genes.
> However, somehow there is a problem to bring the matrix from the file
> to the right limma-object:
>
> 1.) data <- read.delim("R_test_matrix.dat ", header = TRUE, sep ="\t",
> quote="\"", dec=".", fill = TRUE)
>
> 2.) fit <- lmFit(data, design=c(1,1,1))
> Error: (subscript) boolean Index to long
>
> 3.) fit <- eBayes(fit)
> 4.) write.fit(fit, file="fit.txt")
>
> Actually, there is no problem when starting from the 3 gpr-files using
> another R-script. But in special cases there are pre-processed data of
> which the ratio values are already in the text-file mentioned above
> for further statistics.
>
> Any Idea?
> Thanks a lot for help!
I encourage you to join the BioConductor forum, where you'll find a lot of
people familiar with limma (and R in general). In fact, Limma's creator,
Gordon Smyth, is a regular there.
http://www.bioconductor.org/
I don't have time right now to look into this, and I don't even have R on
this computer... but if you ask in the BioC forum you might get an answer
quickly.
I have been using Limma for a while, but always starting from the raw data.
By the time I get to the linear modelling fit section I have a "MAList"
object. I know that 'lmFit' will take a matrix with M values as well as a
MAList...
The first thing I'd do is to check that what you're feeding to the 'lmFit'
function is actually a matrix. I suspect that 'read.delim' produces a
dataframe object, not a matrix... and I am not sure that 'lmFit' works with
dataframes (but it might! I just can't check right now).
So... first things to check:
?lmFit
read the help screen. Does it state whether it can take as input anything
other than objects of class MAList or matrix? I think not, but I could be
wrong.
if I am right... then try:
class(data)
if it says anything other than "matrix" then you are feeding the wrong input
to 'lmFit'. It'll be a data frame, and you'll have to convert it to a
matrix.
data<-as.matrix(data)
will convert a dataframe to a matrix, as long as it has a matrix-compatible
structure.
I really can't offer you anything else without having an R session in front
of me. Do try the BioC forum, there's probably a simple solution. Usually
most of the errors I get are for silly things like this... having a list
rather than a vector, a factor instead of a vector... etc etc... the
function 'class' tells you what sort of data object you're dealing with, if
you're not sure... and it's your best friend :-)
Good luck!
Jose
More information about the Methods
mailing list