我正在运行一个for循环,它为每次迭代创建对象。这个函数叫做量规。您将从下面的脚本中注意到,我希望创建BP1、BP2、BPi到PB8,MF和CC也是如此。然而,如果我跑:
paste("BP",i,sep="") = gage(CNTS, gsets=go.bp, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx)我发现了一个错误:
粘贴错误(“BP”,i,sep = "") = gage(CNTS,gset= go.bp,ref = go.ref.idx,:赋值目标扩展到非语言对象)。
我怎么才能做我想做的?
到目前为止我的剧本是
```{r}all_idx = 1:32
go.ref.idx=c()
go.samp.idx=c()
for(i in seq(from=0,to=7,by=1)){
go.ref.idx= c((1+i*4):(4+i*4)) go.samp.idx = setdiff(all_idx, c( (1+i*4):(4+i*4))) BP = gage(CNTS, gsets=go.bp, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx) MF = gage(CNTS, gsets=go.mf, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx) CC = gage(CNTS, gsets=go.cc, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx)}
但是只运行las索引的值。我会感谢你的帮助
发布于 2018-02-22 18:04:37
谢谢您的建议:下面的代码解决了我的问题:
```{r}all_idx = 1:32
go.ref.idx=c()
go.samp.idx=c()
GOperCluster_Vehicle = list()
for(i in seq(from=0,to=7,by=1)){
go.samp.idx= c((1+i*4):(4+i*4)) go.ref.idx = setdiff(all_idx, c( (1+i*4):(4+i*4))) BP = gage(CNTS, gsets=go.bp, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx) MF = gage(CNTS, gsets=go.mf, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx) CC = gage(CNTS, gsets=go.cc, ref= go.ref.idx, compare = "as.group", samp = go.samp.idx) name = paste("Cluster", i , sep="") tmp = list(BP= BP, MF=MF, CC=CC) GOperCluster_Vehicle[[name]] = tmp}
https://stackoverflow.com/questions/48916388
复制相似问题