T.test для каждой строки в R

Я работаю с двумя фреймами данных с 20502 строками, и я хочу предварительно сформировать t.test с 1-й строкой одного фрейма данных и 1-й строкой другого фрейма данных, и так до 20502-й строки двух фреймов данных.

ps: у меня есть пропущенные значения (NA) в моих фреймах данных


person André Conceição    schedule 06.06.2017    source источник
comment
почему ты хочешь сделать это? Либо вы неправильно используете фрейм данных, либо неправильно используете t-тест.   -  person Consistency    schedule 07.06.2017
comment
Я хочу увидеть дифференциальное метилирование между зондами нормальных образцов и образцов опухоли.   -  person André Conceição    schedule 07.06.2017


Ответы (1)


Если я правильно понимаю, что вы делаете, это не типичный способ использования data.frames — как правило, столбцы должны стоять сами по себе как переменные, а не строки, и множество Доступные инструменты data.frame используют это предположение. При этом для data.frames A и B ниже...

A <- as.data.frame(matrix(1:12,nrow=3,ncol=4))
A
##   V1 V2 V3 V4
## 1  1  4  7 10
## 2  2  5  8 11
## 3  3  6  9 12

B <- as.data.frame(matrix(2:13,nrow=3,ncol=4))
B
##   V1 V2 V3 V4
## 1  2  5  8 11
## 2  3  6  9 12
## 3  4  7 10 13

... то, что вы хотели бы сделать, это t-тест с двумя выборками c(1,4,7,10) против c(2,5,8,11) и т. д. для каждой строки, полностью вниз. Вы могли бы добраться туда с

pvals <- rep(NA, nrow(A))
for(i in 1:nrow(A)) pvals[i] <- t.test(A[i,],B[i,])$p.value
person Matt Tyers    schedule 06.06.2017