Ошибка с t-тестом
У меня возникают ошибки при обычном 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
Я не могу понять, что пошло не так с вектором. Подскажите пожалуйста? Я не смог понять это.
3 ответа
Скорее всего ваши данные имеют NA
ценности. Например: -
x<-rep(NA,4)
t.test(x)
Error in t.test.default(x) : not enough 'x' observations
Из вашего комментария кажется, что ошибка произошла из-за пропущенного значения. Вы можете исключить пропущенные значения, установив na.rm=TRUE
, Ссылка:- Отсутствует значение. Перед тем как опубликовать вопрос R, взгляните на Как сделать отличный пример для воспроизведения R?
Удалять 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