2011-03-18 10 views
0

私のコードについて2つの質問があります。まず、私はあなたのコードが表示されます:forループを組み合わせる

partialnames<- c('EV','PIM','OBX','MYC','WDR') 

そして、最初のループで最初の引数を取る:

partialname5 <- "EV" 
EV <- ttest[grep(partialname5, rownames(ttest)),] 
partialname1 <- "MYC" 
MYC <- ttest[grep(partialname1, rownames(ttest)),] 
MYCEV<-list() 
for (j in 1:ncol(MYC)) { 
    t1<-t.test(MYC[,j], (EV[,j]))$p.value 
    MYCEV[[j]]<- matrix(t1) 
} 

partialname2 <- "OBX" 
OBX <- ttest[grep(partialname2, rownames(ttest)),] 
OBXEV<-list() 
for (k in 1:ncol(OBX)) { 
    t2<-t.test(OBX[,k], (EV[,k]))$p.value 
    OBXEV[[k]]<- matrix(t2) 
} 

partialname3 <- "WDR" 
WDR <- ttest[grep(partialname3, rownames(ttest)),] 
WDREV<-list() 
for (l in 1:ncol(WDR)) { 
    t3<-t.test(WDR[,l], (EV[,l]))$p.value 
    WDREV[[l]]<- matrix(t3) 
} 

partialname4 <- "PIM" 
PIM <- ttest[grep(partialname4, rownames(ttest)),] 
PIMEV<-list() 
for (m in 1:ncol(PIM)) { 
    t4<-t.test(PIM[,m], (EV[,m]))$p.value 
    PIMEV[[m]]<- matrix(t4) 
} 

私の最初の質問ですが、それはこの方法で私のpartialnamesに充填することができます。

2番目の質問はすべてこのループを組み合わせることですpartialnames

ありがとうございました!

サマンサ

+4

これは 'sapply'で行うことができます。最小の実例を提供している場合は、その方法を示すことができます。 –

答えて

0

再現可能な例は役立つだろうが、短い答えはイエスです。 EV、PIM、OBX、MYC、およびWDRの変数(rownames)を識別するための値のすべての組み合わせを各列ごとにt.estestしようとしていると思います。そうですか?

もしそうなら、これはうまくいくかもしれませんが、再現可能な例がなければわかりません。

splits <- c('EV', 'PIM', 'OBX', 'MYC', 'WDR') 
results <- list() 
for(i in 1:length(splits) { 
for(j in 1:length(splits) { 
    for(k in 1:ncol(ttest)) { 
    results[i][j][k] <- t.test(ttest[rownames(ttest)==splits[i],k], ttest[rownames(ttest)==splits[j],k]) 
    } 
} 
} 
関連する問題