Итак, я создаю функцию, которая позволяет мне взять data.frame и получить для всех протестированных переменных фрейм данных p.values.
# data and labels
my_data <- data.frame(matrix(data = rnorm(10000), nrow = 100, ncol = 10000))
labels <- sample(0:1, 100, replace = TRUE)
# append the labels to the data, then filter
my_data$labels <- labels
sample_1 <- dplyr::filter(.data = my_data, labels == 0)
sample_2 <- dplyr::filter(.data = my_data, labels == 1)
#perform a t-test on each column
p_vals <- data.frame()
for(i in c(1:10000)) {
p_vals <- rbind(p_vals, t.test(x = sample_1[,i], y = sample_2[,i])$p.value)
}
return(p_vals)
Это функционально, но я думаю / надеюсь, что там было бы более эффективным способом сделать это без for l oop. Данные должны быть в строках, потому что для более поздних функций будет важно отслеживать, какая переменная имела какое значение p.