R: Симуляторы связи в dplyr mutate - PullRequest
1 голос
/ 09 апреля 2019

Я хотел бы создать двумерное распределение в таблице. Вот что я пытаюсь создать:

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)

a busy cat

Где 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.

Спасибо.

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