Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何同时使用dmvnorm函数和mapply_R_Pca_Normal Distribution_Mle_Multivariate Testing - Fatal编程技术网

如何同时使用dmvnorm函数和mapply

如何同时使用dmvnorm函数和mapply,r,pca,normal-distribution,mle,multivariate-testing,R,Pca,Normal Distribution,Mle,Multivariate Testing,将每个参数放入列表中的同一参数: set.seed(1) ### i would like to do this dmvnorm(c(.5,.5), mean= c(2,15), matrix(c(3, 0, 0, 9), 2)) dmvnorm(c(.6,.6), mean= c(5,18), matrix(c(6, 0, 0, 15), 2)) ##### BUT using mapply instead... how can that be done? u1 = c(2,15) sigm

将每个参数放入列表中的同一参数:

set.seed(1)
### i would like to do this
dmvnorm(c(.5,.5), mean= c(2,15), matrix(c(3, 0, 0, 9), 2))
dmvnorm(c(.6,.6), mean= c(5,18), matrix(c(6, 0, 0, 15), 2))

##### BUT using mapply instead... how can that be done?
u1 = c(2,15)
sigma1 = matrix(c(3, 0, 0, 9), 2)
u2 = c( 5, 18)
sigma2 = matrix(c(6, 0, 0, 15), 2)
parameters = list(mu = list(u1, u2), sigma = list(sigma1, sigma2))
mapply( c(c(.5,.5),c(.6,.6)),   dmvnorm, 
        mean = c(parameters$mu[[1]], parameters$mu[[2]] ) ,
        sigma= c(parameters$sigma[[1]],parameters$sigma[[2]] 

) )
库(mvtnorm)

u
mapply
的第一个参数应该是一个函数。
library(mvtnorm)
u <- list(u1 = c(2,15), u2 = c( 5, 18))
sigma <- list(sigma1 = matrix(c(3, 0, 0, 9), 2),
              sigma2 = matrix(c(6, 0, 0, 15), 2))
x <- list(c(0.5, 0.5), c(0.6, 0.6))
result <- mapply(dmvnorm, x, u, sigma)
# [1] 1.780234e-07 1.384004e-07
result <- numeric(length(x))
for (i in 1:length(x))
  result[i] <- dmvnorm(x[[i]], u[[i]], sigma[[i]])