допустим, у меня есть такая матрица
dat <- read.table(text = " code.1 code.2 code.3 code.4
1 82 93 NA NA
2 15 85 93 NA
3 93 89 NA NA
4 81 NA NA NA",
header = TRUE, stringsAsFactors = FALSE)
dat2=data.matrix(dat)
На самом деле моя матрица имеет 132 столбца и около 15000 строк. И имена моих столбцов выглядят так: матрица останется прежней, за исключением того, что будет новый порядок имен столбцов.
например, одна перестановка / перестановка имен столбцов даст мне следующее:
code.2 code.4 code.1 code.3
1 82 93 NA NA
2 15 85 93 NA
3 93 89 NA NA
4 81 NA NA NA
Цель состоит в том, чтобы выполнить следующий код на каждом из 1000 фреймов данных
subject="all_replicate"
targets<-readTargets(paste(PhenotypeDir,"hg_sg_",subject,"_target.txt", sep=''))
Treat <- factor(targets$Treatment,levels=c("C","T"))
Replicates <- factor(targets$rep)
design <- model.matrix(~Replicates+Treat)
corfit <- duplicateCorrelation(dat2, block = targets$Subject)
corfit$consensus.correlation
fit <-lmFit(dat2,design,block=targets$Subject,correlation=corfit$consensus.correlation)
fit<-eBayes(fit)
y1=topTable(fit, coef="TreatT", n=nrow(genes),adjust.method="BH",genelist=genes)
Внутри y1 есть имена столбцов P.value, содержащие значения p, и я хотел бы построить распределение их для всех вышеупомянутых 1000 перестановок имен столбцов.
Пожалуйста, сообщите