Я склонен применять t-тест для каждой строки в моем фрейме данных, который представляет собой данные микромассива, сравнивая столбцы 2:13 и 14:67 по этому коду:
t_test = apply(Df, 1, function(x) { t.test(x[2:13], x[14:67])$p.value } )
Однако я получил эту ошибку:
Ошибка в if (stderr ‹ 10 * .Machine$double.eps * max(abs(mx), abs(my))) stop(данные практически постоянны): отсутствует значение там, где требуется TRUE/FALSE Кроме того: Предупреждающие сообщения: 1 : В mean.default(x): аргумент не является числовым или логическим: возвращается NA 2: В mean.default(y):
Я проверил, отсутствует ли какое-либо значение / не является числовым или нет, по некоторым советам по этим проблемам (похоже, что многие люди также столкнулись с этой проблемой) с помощью этого кода:
TRUE %in% is.character(Data_rma[2:13]) TRUE %in% is.character(Data_rma[14:67])
TRUE %in% is.na(Data_rma[2:13]) TRUE %in% is.na(Data_rma[14:67])
Ничего не пропущено, и все значения числовые. Я не знаю, в чем проблема с моей проблемой.
Большое тебе спасибо!
Я загрузил свой фрейм данных на Диск, чтобы вы могли попробовать. https://drive.google.com/file/d/1FE81HYaSTo7rEPG-qb-mdknPcpvebsWT/view?usp=sharing