Я хотел бы создать двумерное распределение в таблице. Вот что я пытаюсь создать:
library(copula); library(tidyverse)
n <- 10e3; alpha <- 2.6
tib1 <- tibble(locid = seq(n))
tib2 <- rCopula(n, gumbelCopula(alpha)) %>% as_tibble
plot(tib2$V1, tib2$V2)
Где cor(tib2$V1, tib2$V2)
примерно 0.8
Однако, когда я вставляю это как функцию в таблицу, она, кажется, не работает должным образом, то есть K1 и K2 не коррелированы.
testfn <- function(n) rCopula(n, gumbelCopula(alpha)) %>% as_tibble
tib3 <- tib1 %>%
mutate(K1 = testfn(n)$V1,
K2 = testfn(n)$V2)
т.е. cor(tib3$K1, tib3$K2)
это zero
Причина, по которой я хотел бы сделать это в dplyr вместо того, чтобы делать что-то вроде, например, cbind
, заключается в том, что я хочу манипулировать K1 и K2 в функции mutate.
Спасибо.