本帖最后由 phjx 于 2012-2-21 18:20 编辑
library(samr)
library(impute)
setwd("F:/GEO matrix/samr")
data<- read.table("F:/GEO matrix/samr/GSE4412-GPL96_series_matrix.txt")
x=data[2:22284,2:86]
time<-read.table("F:/GEO matrix/samr/2.txt")#样本信息
y=time[1:nrow(time),5]#生存时间
str(y)
censoring.status=time[1:nrow(time),4]# 死或者活
str(censoring.status)
da=list(x=x,y=y,censoring.status=censoring.status,geneid=as.character(data[1:22284,1]),logged2=FALSE)
samr.obj<-samr(da, resp.type="Survival", nperms=100)
de<-samr.compute.delta.table(samr.obj, min.foldchange=0, dels=NULL, nvals=50)#sam做cox回归
delta=-1
siggenes<-samr.compute.siggenes.table(samr.obj,delta, da, de)
write.table(siggenes$genes.lo,"D:/rworksapce/samr/result/GSE_**_down_mRNA.txt",sep="\t",row.names=FALSE,,quote=FALSE)#导出下调基因 D:/rworksapce/samr/result/GSE_**_
write.table(siggenes$genes.up,"D:/rworksapce/samr/result/GSE_**_up_mRNA.txt",sep="\t",row.names=FALSE,,quote=FALSE)#导出上调基因
现有一套表达谱数据和生存时间等样本信息,希望做cox回归。我的R语言也不是很懂,刚入门,这段代码也是别人帮忙弄的。但是运行时老有个地方出错,希望高手指点下。
> library(impute)
> setwd("F:/GEO matrix/samr")#改变工作路径
>
> data<- read.table("F:/GEO matrix/samr/GSE4412-GPL96_series_matrix.txt")#导入表达谱
> x=data[2:22284,2:86]#要处理的表达谱,只是表达值
>
>
> time<-read.table("F:/GEO matrix/samr/2.txt")#样本信息
> y=time[1:nrow(time),5]#生存时间
> str(y)
Factor w/ 5 levels "1","48","961",..: 4 5 2 1 3
>
> censoring.status=time[1:nrow(time),4]# 死或者活 1:nrow(time),5
> str(censoring.status)
Factor w/ 5 levels "0","182","58",..: 5 4 3 1 2
>
>
> da=list(x=x,y=y,censoring.status=censoring.status,geneid=as.character(data[1:22284,1]),logged2=FALSE) #是否经过log2转换 logged2 FALSE=不需要再进行log2转换,输入的是log2转换后的数据
> samr.obj<-samr(da, resp.type="Survival", nperms=100)
错误于FUN(X[[1L]], ...) :
only defined on a data frame with all numeric variables
|