r中的简单循环?

时间:2014-04-09 18:41:20

标签: r loops

我只能写一些简单的R代码。例如:

data <- subset(PCB,PCB1.cat3 == "Low" | PCB1.cat3 == "High")
data <- data[order(data$PCB1.cat3),] ;table(data$PCB1.cat3)
mydata <- data.frame(data[,c(19:134)]);mydata <- t(mydata)
library(limma)
design <- cbind(Grp1=1,Grp2vs1=rep(c(0,1), times = c(27,26)))
fit <- lmFit(mydata,design)
fit <- eBayes(fit)
results <- topTable(fit,adjust = "fdr",coef=2, sort.by="P", number=100)

适用于变量PCB1.cat3。但是,我有11个变量:PCB2.cat3PCB3.cat3 ...如何制作循环以及结果摘要?

1 个答案:

答案 0 :(得分:1)

我自己想通了。希望对有兴趣的人有所帮助。

    library(limma)
    for (i in 1:8)  
    {
      data <- PCB[,c(135:142,3:10,19:134)]
      data <- subset(data,data[,i] == "Low" | data[,i] == "High")
      data <- data[order(data[,i]),] ;table(data[,i])
      mydata <- data.frame(data[,c(17:132)]);mydata <- t(mydata)
      design <- cbind(Grp1=1,Grp2vs1=rep(c(0,1), times = c(27,26)))
      fit <- lmFit(mydata,design)
      fit <- eBayes(fit)
      results <- topTable(fit,adjust = "fdr",coef=2, sort.by="P", number=20)
      assign(paste("res.quartiles",colnames(data[i]),sep="."),results)
    }