如何使用 R 将 t 密度叠加到直方图上?这是我的功能:
simfun <- function(a=56.25102409,b=1.78977412,c=0.08664925,n=18,x1.sd=18.87671,x2.sd=18.87671,e.sd=18.87671) {
X1 <- rnorm(n, mean=0, sd=x1.sd)
X2 <- rnorm(n, mean=0, sd=x2.sd)
e <- rnorm(n, mean=0, sd=e.sd)
Z <- a+b*X1+c*X2+e
data.frame(X1,X2,Z)
}
statfun <- function(samples) {
coef(lm(Z~X1+X2,data=samples))
}
library(plyr)
B=raply(1000,statfun(simfun()))
(hist(B[,2]))
将最后一行更改为:
hist(B[,2], prob=TRUE)
以获得正确的缩放比例,然后执行
curve( dt(x, df=15), add=TRUE, col='blue' )
改变df
并将颜色设置为您想要的任何值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)