Быстрое корреляционное решение для Пирсона, Кендалла в R - PullRequest
1 голос
/ 27 апреля 2020

Когда мне нужно ускорить cor(..., method="kendall"), я обнаружил быструю корреляцию в R, используя C и распараллеливание . Это может легко ускорить вычисление корреляции pearson на cor() в R.

Но на самом деле kendall медленнее. Тогда быстрая альтернатива может быть cor.fk (x, y = NULL), что намного быстрее, чем cor(..., method="kendall").

1 Ответ

0 голосов
/ 27 апреля 2020

Если задействована bootstrap или очень большая матрица, очень быстрая альтернатива может быть cor.fk (x, y = NULL).

. Она может использоваться следующим образом:

library(PAsso)
# import data -------------------------------------------------------------
data("nes2016_pre")
summary(nes2016_pre)

system.time(
  cor_matrix <- cor(nes2016_pre[, c("Prevote.num","PID")], method = "pearson")
)
# user  system elapsed 
#   0       0       0 

system.time(
  cor_matrix <- cor(nes2016_pre[, c("Prevote.num","PID")], method = "kendall")
)
# user  system elapsed 
# 0.19    0.00    0.19 

library(pcaPP)
system.time(
  cor.fk(nes2016_pre[, c("Prevote.num","PID")])
)

# user  system elapsed 
#   0       0       0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...