Repost of Error Message: Error in dim(data)<-dim: attempt to set an atrribute on NULL
0
0
Entering edit mode
Sally ▴ 250
@sally-2430
Last seen 10.2 years ago
I have the following code, from which I get the following error message: Error in dim(data) <- dim : attempt to set an attribute on NULL The script works fine until I get to the ------ line below at the end of the data. #Load libraries source("http://bioconductor.org/biocLite.R") biocLite() library(limma) library(Biobase) #change directory to folder where files are (c:/limmadegenes) #Change to directory with original data files #read in expression data file and phenotypic data. #Note that row.names=1 means that row names are #in column 1, exprdata<-read.table("exprsData.txt", header=TRUE,sep="\t",row.names=1,as.is=TRUE,fill=TRUE,) class(exprdata) #[1] "data.frame" dim(exprdata) #[1] 17328 28 colnames(exprdata) head(exprdata) #printout too long to paste phenotypicdata<-read.table("phenotypicdata.txt",row.names=1,header=TRU E,sep="\t") class(phenotypicdata) #returns: [1] "data.frame" dim(phenotypicdata) #returns: [1] 28 2 colnames(phenotypicdata) #returns: [1] "Species" "Time" rownames(phenotypicdata) #Coerse exprdata into a matrix myexprdata<-as.matrix(exprdata) write.table(myexprdata,file="myexprdata.txt",sep="\t",col.names=NA) class(myexprdata) #[1] "matrix" rownames(myexprdata) colnames(myexprdata) #Coerse phenotypicdata into a data frame myphenotypicdata<-as.data.frame(phenotypicdata) write.table(myphenotypicdata,file="myphenotypicdatacheck.txt",sep="\t" ,col.names=NA) rownames(myphenotypicdata) colnames(myphenotypicdata) #[1] "species" "time" summary(myphenotypicdata) all(rownames(myphenotypicdata)==colnames(myexprdata)) #[1] TRUE #Create annotated Data Frame adf<-new("AnnotatedDataFrame",data=phenotypicdata) #dim means: dimension of an object. dim(adf) #rowNames columnNames # 28 2 rownames(adf) #NULL #read in galfile readGAL("Galfile.gal") #Create eset object eSet<-new("ExpressionSet",exprs=myexprdata,phenoData=adf,annotation="G alfile.gal") #Read in targets file targets <- readTargets("targets.txt") targets # Set up character list defining your arrays, include replicates TS <- paste(targets$Species, targets$Time, sep=".") #This script returns the following: TS # Turn TS into a factor variable which facilitates fitting TS <- factor(TS) #This script returns the following design <- model.matrix(~0+TS) #write design object to text file write.table(design,file="design.txt",sep="\t",col.names=NA) colnames(design) <- levels(TS) #for eset put in your M values - see ?lmFit for object types fit <- lmFit(eSet, design) cont.matrix<-makeContrasts(s0vss24=s.0-s.24, s24vss48=s.24-s.48, s48vss96=s.48-s.96, c0vsc24=c.0-c.24, c24vsc48=c.24-c.48, c48vsc96=c.48-c.96, levels=design) write.table(cont.matrix,file="cont.matrix.txt",sep="\t",col.names=NA) # estimate the contrasts and put in fit2 fit2 <- contrasts.fit(fit, cont.matrix) fit2 <- eBayes(fit2) #print fit2 table write.table(fit2,file="fit2.txt",sep="\t") ---------------------------------------------------------------------- --------------------------------------------- >From here on-down it does not work #I took the fit2 table and manually removed all empty and GFP rows, plus I deleted all rows where the Fpval was greated than 0.01. This table is called #fit2readformulttestFp01.txt fit2<-read.table("fit2readyformulttestFp01.txt", header=TRUE, sep="\t") #WORKS write.table(fit2, file="filteredfit2.txt", sep="\t") #WORKS s0vss24<-topTable(fit2,coef="s0vss24",number=3412,adjust.method="BH",p .value=1) write.table(s0vss24,file="s0vss24.txt",sep="\t") s24vss48<-topTable(fit2,coef="s24vss48",number=3412,adjust.method="BH" ,p.value=1) write.table(s24vss48,file="s24vss48.txt",sep="\t") s48vss96<-topTable(fit2,coef="s48vss96",number=3412,adjust.method="BH" ,p.value=1) write.table(s48vss96,file="s48vss96.txt",sep="\t") c0vsc24<-topTable(fit2,coef="c0vsc24",number=3412,adjust.method="BH",p .value=1) write.table(c0vsc24,file="c0vsc24.txt",sep="\t") c24vsc48<-topTable(fit2,coef="c24vsc48",number=3412,adjust.method="BH" ,p.value=1) write.table(c24vsc48,file="c24vsc48.txt",sep="\t") c48vsc96<-topTable(fit2,coef="c48vsc96",number=3412,adjust.method="BH" ,p.value=1) write.table(c48vsc96,file="c48vsc96.txt",sep="\t") Thanks, .../Sally [[alternative HTML version deleted]]
• 1.1k views
ADD COMMENT

Login before adding your answer.

Traffic: 641 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6