v, произведенных в разных местах. Надо сравнить распределение измерений в каждом из мест с каким-то эталоном.
Агрегирую, получаю ожидаемый результат
> df <- aggregate(v ~ site, data = df, c)
> sapply(df, class)
site v
"character" "list"
Как мне дальше делать тесты? Что-то такое работает, но это явно не так, как надо писать
v_p <- c()
for (row in 1:nrow(df)){
v_row <- unlist(df[row, "v"])
v_p_row <- wilcox.test(v_to_compare_with, v_row)
v_p<-c(v_p, v_p_row[["p.value"]])
}
df$v_p <- v_p
если понял правильно, то можно посмотреть вот в эту сторону: library(data.table) dt = data.table( v = rnorm(100), site = sample(c('site1', 'site2', 'site3'), 100, T) ) v_to_compare_with = c(0, 0, 0, 1, 0, 1, 0) dt[, .(p_value = wilcox.test(v_to_compare_with, v)$p.value), by = site]
Обсуждают сегодня