R - как ограничить вывод для hmisc rcorr?

У меня есть два кадра данных мотивация_on с 60 наблюдениями и мотивация_офф с 146 наблюдениями, каждый из которых состоит из 21 переменной и 1 столбца идентификаторов, который находится в первом столбце.

Теперь я хочу знать, как вары коррелируют друг с другом, поэтому я использую:

rcorr(as.matrix(motivation_on[2:ncol(motivation_on)]), type = "spearman")

и

rcorr(as.matrix(motivation_off[2:ncol(motivation_off)]), type = "spearman")

(Подмножество сделано, чтобы избавиться от столбца ID)

Теперь я хочу вычислить корреляцию между онлайн- и офлайн-переменными, поэтому я попытался:

rcorr(as.matrix(motivation_off[2:ncol(motivation_off)]), as.matrix(motivation_on[2:ncol(motivation_on)]) , type = "spearman")

Теперь я получаю то, что хочу, но, кроме того, он также показывает все корреляции для переменных в рамках мотивации_вкл и в рамках мотивации_отключения, которые я вычислил ранее. Это делает вывод чрезвычайно длинным. Как получить вывод rcorr исключительно для корреляций on_off?

изменить для уточнения. Попробуйте сделать следующее:

x <- as.matrix(mtcars[1:3])
y <- as.matrix(mtcars[4:6])
rcorr(x,y)

То, что я хотел, это корреляционная таблица с: mpg, cyl, disp в виде строк и hp, drat, wt в виде столбцов, а не полного вывода. моя текущая работа вокруг:

z <- rcorr(x,y)
q <- as.data.frame(z[1])
q[1:3,4:6]

person florian    schedule 06.04.2017    source источник
comment
При беглом взгляде на код я не думаю, что это возможно, но psych::corr.test(x, y) даст вам то, что вы хотите   -  person user20650    schedule 07.04.2017
comment
или, конечно, cor(x, y), если вам не нужны значения pvalue   -  person user20650    schedule 07.04.2017
comment
к сожалению, мне также нужны p-значения.   -  person florian    schedule 08.04.2017
comment
Спасибо за указание: psych::corr.test(x, y) кажется именно то, что мне нужно!   -  person florian    schedule 08.04.2017


Ответы (1)


Кажется, что rcorr hmisc не дает возможности извлечь то, что я хочу. Извлекать результаты можно только вручную, как я продемонстрировал в своем примере с mtcars. Однако psych::corr.test(x, y) обеспечивает именно тот результат, который я хотел - спасибо @user20650 за указание на это!

person florian    schedule 08.04.2017