Кто-то прислал мне следующий код, который повторяет ту же команду (mvrnorm) 10 раз, в формате списка.Об использовании lapply
dat <- lapply(1:10,mvrnorm, n = 10, Sigma=matrix(.3, 3, 3), mu = rep(0, 3))
Код работает.
Однако, когда я пытаюсь выполнить следующую команду, она не работает, и я не понимаю, почему она не работает. Я ожидаю, что подсчитать количество столбцов в «х» в десять раз раз:
dat <- lapply(1:10, ncol, x=matrix(.3, 4, 4))
Error in FUN(X[[i]], ...) : unused argument (X[[i]])
В принципе, я пытаюсь понять, в какой ситуации работает в следующем формате:
lapply(1:10, function, ...)
Если кто-нибудь может объяснить для меня, почему это работает, когда функция mvrnorm
(первый пример), но не ncol
(второй пример)?
Я Сорта знаю, что кушетка говорит, но почему следующая работа? '1: 10' не передается' mvrnorm' в примере в моем исходном сообщении? 'dat <- lapply (1: 10, mvrnorm, n = 10, Sigma = matrix (.3, 3, 3), mu = rep (0, 3))' – Chet
Мой вопрос в том, почему следующий формат работает для функция 'mvrnorm', но не' ncol'? 'lapply (1:10, function, ...)' – Chet
Я не говорю, что вы ошибаетесь. Мой вопрос заключается в том, как заставить R 'подсчитывать количество столбцов в 'x' десять раз многократно и почему' dat <- lapply (1:10, ncol, x = matrix (.3, 4, 4)) ' не работает. (т. е. почему формат 'lapply (1:10, function, ...)' работает, когда функция 'mvrnorm', но не' ncol'?) – Chet