Я хотел бы использовать критерий со знаком Уилкоксона для одной выборки, чтобы проверить, действительно ли каждый столбец в R значительно больше 0. Я могу go пройти через каждый столбец отдельно, но в идеале я хотел бы использовать lapply
для циклически проходить по каждому столбцу и записывать p-значения в отдельный фрейм данных. В каждой строке фрейма данных перечислены месячные значения для данного года:
df = data.frame("year"=c(1:20), "jan"=runif(20), "feb"=runif(20))
... с 13 полными столбцами для года и каждого месяца.
Код, который я использую сейчас, сравнивает каждый столбец в ноль, но я хотел бы включить функцию lapply
, чтобы немного упростить вещи:
wilcox.test(df[,1], mu=0, alternative="greater")
Я пытался:
res = lapply(df, function(x){
wilcox.test(df[,x[1]], mu=0, alternative="greater")
})
Но я получаю ошибку, что мой входные данные для функции wilcox.test
не являются цифрами c, что заставляет меня думать, что они не читают в отдельных столбцах. Я пытался использовать некоторые предложения в этом посте , но у меня возникают проблемы при изменении кода для работы тест с одним образцом. Я новичок в lapply
и написание функций, поэтому любая помощь очень ценится!