Мне удалось воспроизвести ваше сообщение об ошибке на следующем небольшом примере:
x = as.factor(1:5)
y = as.factor(1:5)
t.test(x, y)
приводит к
Error in if (stderr < 10 * .Machine$double.eps * max(abs(mx), abs(my))) stop("data are essentially constant") :
missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In mean.default(x) : argument is not numeric or logical: returning NA
2: In mean.default(y) : argument is not numeric or logical: returning NA
Проблема в том, что вы пытаетесь выполнить t-тест нанечисловые векторы.Добавление также не определено для факторов:
x + y
дает
[1] NA NA NA NA NA
Warning message:
In Ops.factor(x, y) : + not meaningful for factors
Предупреждение дает острое понимание того, что не так, а также объясняет, почему ваш t-тест не работает.1013 *
Чтобы решить проблему, вам нужно сделать так, как предлагает Илья: преобразовать ваши векторы в числовые значения с помощью as.numeric(as.character())