我有這個數據框與4個基因和3個樣本重複測量。 TS是標準。如何在R中執行wilcox測試?
我想在樣品S1與TS和S2與每個蛋白質的TS之間進行wilcox檢測,但是我有for循環的問題。
MS.rawMV <- read.table("C:/Users/aaa/Desktop/genomic/MS.csv", header=T)
S1_1 S1_2 S2_1 S2_2 TS_1 TS_2
gene 1 1 1 2 3 5 5
gene 2 10 10 4 5 9 10
gene 3 5 6 4 4 5 7
gene 4 9 9 8 7 6 6
Samples=list(
S1=grep("S1_*", colnames(MS.rawMV), value=TRUE),
S2=grep("S2_*", colnames(MS.rawMV), value=TRUE),
TS=grep("TS_*", colnames(MS.rawMV), value=TRUE))
sample.names <- names(Samples)
ref.sample <- "TS_"
# Build a data.frame
GRates <- data.frame(MS.rawMV[Reduce("c", Samples)])
## Statistics: non parametric test using TS as a standart
for (i in names(Samples)) {
WILCOXTEST <- wilcox.test(GRates[c(Samples[[i]])],Samples[[ref.sample]])
pnames <- paste(i,".wilcoxtest",sep="")
GRates[pnames] <- WILCOXTEST["p.value"]
}
Error in wilcox.test.default(GRates[Samples[[i]]], Samples[[ref.sample[i]]]) :
'x' must be numeric
我不相信'wilcox.test'應該能夠處理重複測量類型測試。也不清楚的是,即使你只是在測試S1_1與TS_1,測試單獨基因的數據情況纔是合適的應用。這似乎也是一個多項問題。 'wilcox.test'用於比較同一財產度量的單向分類。即使您刪除了重複測量方面的信息,您也可以進行雙向分類。 – 2013-03-25 17:46:39