Корреляции между несколькими фреймами данных в объекте списка - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть 4 кадра данных, которые я решил поместить в объект списка.

Я хочу вычислить корреляции между каждым фреймом данных и всеми остальными. Более конкретно, я хочу вычислить соотношение между dataframe_1 и 2 другими. То же самое между dataframe_2 и 3 другими и так далее, пока не будут созданы все комбинации.

Пример скрипта:

df1=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df1)=c("a", "b","c", "d", "e")
df2=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df2)=c("a", "b","c", "d", "e")
df3=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df3)=c("a", "b","c", "d", "e")
df4=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df4)=c("a", "b","c", "d", "e")
list_tab=list(df1, df2, df3, df4)

Я пытаюсь с lapply(list_tab, function(x)cor(x)) Но я не получил то, что ожидал.

Я хочу получить список с этими объектами:

  • cor(df1, df2)
  • cor(df1, df3)
  • cor(df1, df4)
  • cor(df2, df3)
  • cor(df2, df4)
  • cor(df3, df4)

Скучно делать это один за другим, поэтому я ищу прямой путь к этому.

Спасибо за ваши ответы!

1 Ответ

0 голосов
/ 06 ноября 2018

Следующая однострочная строка вычисляет все попарные корреляции между матрицами в list_tab, включая корреляции каждой матрицы с самой собой.

lapply(list_tab, function(DF) Map(cor, list_tab, list(DF)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...