У меня есть фрейм данных A
, который я разбил на список из 100 фреймов данных, каждый из которых имеет 3 строки (в моих реальных данных каждый фрейм данных имеет 500 строк). Здесь я показываю A с 2 элементами списка (row1-row3; row4-row6):
A <- data.frame(n = c(0, 1, 2, 0, 1, 2),
prob = c(0.4, 0.5, 0.1, 0.4, 0.5, 0.1),
count = c(24878, 33605, 12100 , 25899, 34777, 13765))
# This is the list:
nest <- split(A, rep(1:2, each = 3))
Я хочу применить полиномиальный тест к каждому из этих фреймов данных и извлечь p-значение каждого теста. Пока я сделал это:
library(EMT)
fun <- function(x){
multinomial.test(x$count,
prob=x$prob,
useChisq = FALSE, MonteCarlo = TRUE,
ntrial = 100, # n of withdrawals accomplished
atOnce=100)
}
lapply(nest, fun)
Однако я получаю:
"Error in multinomial.test(x$counts_set, prob = x$norm_genome, useChisq = F, :
Observations have to be stored in a vector, e.g. 'observed <- c(5,2,1)'"
У кого-нибудь есть более умный способ сделать это?