簡體   English   中英

使用R中的函數繪制輪廓圖

[英]Contour plots using functions in R

在下面的代碼中,我試圖使用norm.dem函數生成x和y給定的點的輪廓圖。 我似乎無法弄清楚該如何做。 我已經盡力想了一切。 由於某種原因,該功能不允許我輸入序列值。 外部函數不應該給我值列表嗎?

x=seq(-10,10,length=1000)
y=seq(-10,10,length=1000)

sigma <- matrix(c(10,-5,-5,20), ncol=2)
sigma

norm.den=function(x,y,sigma,mu) 
{
  j<-c(x,y)
  k=j-mu
  t<-t(k)
  s<-solve(sigma)
  d<-det(sigma)

  ((2.718)^(-t%*%s%*%k/2))/(2*(3.14)*sqrt(d))

}

z=outer(x,y,norm.den,sigma=sigma,mu=c(0,0))

強制使用for()循環。

normden <- function(x, y, solvsig=ss, detsig=ds, mu=c(0, 0)) {
  k <- c(x, y) - mu
  tk <- t(k)
  (exp(-tk %*% ss %*% k / 2)) / (2*pi*sqrt(ds))
}

sigma <- matrix(c(10, -5, -5, 20), ncol=2)
ss <- solve(sigma)
ds <- det(sigma)

x <- seq(-10, 10, length=10)
y <- seq(-10, 10, length=10)
z <- array(dim=c(length(x), length(x)))
for(i in seq(x)) {
for(j in seq(y)) {
  z[i, j] <- normden(x=x[i], y=y[j])
}}
z

我不能讓outer()與工作normden()函數。 不知道為什么。

outer(x, y, "normden")

我收到與OP提到的Error in -tk %*% ss : non-conformable arguments相同的錯誤Error in -tk %*% ss : non-conformable arguments

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM