我在正常的t检验中遇到错误:
data <- read.table("/Users/vdas/Documents/RNA-Seq_Smaples_Udine_08032013/GBM_29052013/UD_RP_25072013/filteredFPKM_matrix.txt",sep="",header=TRUE,stringsAsFactors=FALSE)
PGT <- cbind(data[,2],data[,7],data[,24])
PDGT <- cbind(data[,6],data[,8])
pval2 <- NULL
for(i in 1:length(PGT[,1])){
pval2 <- c(pval2,t.test(as.numeric(PDGT[i,]),as.numeric(PGT[i,]))$p.value)
print(i)
}
错误:
Error in t.test.default(as.numeric(PDGT[i, ]), as.numeric(PGT[i, ])) :
not enough 'x' observations
我无法理解矢量出了什么问题。你能告诉我吗?我无法弄明白。
答案 0 :(得分:5)
您的数据很可能具有NA
个值。例如: -
x<-rep(NA,4)
t.test(x)
Error in t.test.default(x) : not enough 'x' observations
答案 1 :(得分:1)
从您发表评论,似乎错误是由于缺失值而产生的。您可以通过设置na.rm=TRUE
来排除缺失的值。参考: - Missing value。在发布R问题之前,请先查看How to make a great R reproducible example?
答案 2 :(得分:0)
要删除NA
值,请执行以下操作:
> a <- sample(c(NA, 1:5), 20, replace = TRUE)
> a
[1] NA 1 2 NA 1 5 4 4 3 3 2 4 NA 4 NA NA 1 2 NA 5
> b <- na.omit(a)
> b
[1] 1 2 1 5 4 4 3 3 2 4 4 1 2 5