0

我在正常的 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

我无法理解向量出了什么问题。你能告诉我吗?我一直无法弄清楚。

4

3 回答 3

5

您的数据很可能具有NA值。例如: -

x<-rep(NA,4)
t.test(x)

Error in t.test.default(x) : not enough 'x' observations
于 2013-08-06T10:08:09.340 回答
1

根据您的评论,错误似乎是由于缺少值。您可以通过设置排除缺失值na.rm=TRUE。参考:-缺失值。在发布 R 问题之前,请查看如何制作一个出色的 R 可重现示例?

于 2013-08-06T12:13:49.833 回答
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
于 2013-08-06T12:33:03.703 回答