Рассчитать коэффициенты корреляции и p-значения из иерархического набора данных, используя несколько циклов

У меня есть набор данных, описывающий несколько поведенческих переменных от людей, принадлежащих к разным (1) видам, (2) полам и (3) репродуктивным стадиям. Моя цель - создать серию циклов, которые позволили бы мне рассчитать коэффициент корреляции Спирмена и значение p между каждой поведенческой переменной (например, "скрытием" ниже) и другой переменной, представляющей интерес ("вложенность" ниже), для каждого вида на пол на этап. В конце концов мне бы хотелось, чтобы фрейм данных выглядел так:

Species   Sex   Stage   Spearman_corr_coef   p-value   behaviour
PO        m     virgin  0.78                 0.01      hiding
PO        f     virgin  0.54                 0.09      hiding
PO        m     parent  0.03                 0.71      hiding
PO        f     parent  0.14                 0.59      hiding
BW        m     virgin  0.71                 0.02      hiding
BW        f     virgin  0.79                 0.04      hiding
...       ...   ...     ...                  ...       ...

Вот как можно создать поддельный набор данных, похожий на мой:

ID<-as.factor(rep(seq(from=1, to=40), each=2))
hiding <- rnorm(80)
attacking <- rnorm(80)
nesting <- rnorm(80)
sex <- as.factor(rep(c("m","f"),each=2, times=20))
species <- as.factor(rep(c("A", "B"), each=40))
stage<-as.factor(rep(c("virgin", "parent"), times=80))

df <- data.frame(ID, sex, species, stage, nesting, hiding, attacking)

Я хотел бы соотнести значения "вложенности" (представляющей интерес переменной) с "сокрытием" и "атакующим", используя корреляционный тест Спирмена для каждого вида для пола для каждой стадии. Затем я хотел бы извлечь коэффициент корреляции и значение p и интегрировать их все в кадр данных (как показано выше). Заранее спасибо!

0 ответов

Другие вопросы по тегам