1 Star 3 Fork 1

陆泽凯 / R学习之书

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
统计学写的一些函数.R 3.42 KB
一键复制 编辑 原始数据 按行查看 历史
陆泽凯 提交于 2020-09-20 00:58 . 统计学的一些代码
power.n <- function(sigma,e,ci) {
ci=qnorm((1-z)/2+ci)
n=(ci^2*sigma^2)/e^2
if(is.integer(n)){
paste('所需统计量为',n)
}else{
n=ceiling(n)
paste('所需统计量为小数,整理后为',n)
}
}#算均值所需的n
power.p=function(pi=0.5,e,ci) {
ci=qnorm((1-ci)/2+ci)
s=pi*(1-pi)
n=(ci^2*s)/e^2
if(is.integer(n)){
paste('所需统计量为',n)
}else{
n=ceiling(n)
paste('所需统计量为小数,整理后为',n)
}
}#算比例所需的n
twom.s=function(sigma.x,sigma.y,n.x,n.y){
sigmat=sqrt((sigma.x)^2/n.x+(sigma.y)^2/n.y)
return(sigmat)
}#双均值标准误差
onem.s <- function(s,n) {
onem.s=s/sqrt(n)
return(onem.s)
}#单均值标准误差
onep.s<- function(p,n) {
onep.s=sqrt(p*(1 - p)/n)
return(onep.s)
}#单个比例标准误差
twop.s <- function(p1,p2,pai1,pai2,n1,n2) {
twop.s=(p1-p2)-(pai1-pai2)/
sqrt((pai1*(1-pai1))/n1+
(pai2*(1-pai2))/n2)
return(twop.s)
}#双比例标准误差
one.zt.mean <- function(mean.x,mu,s,n) {
one.z=(mean.x-mu)/(s/sqrt(n))
return(one.z)
}#求均值的单个z或t统计值
two.zt.mean <- function(mean.x1,mean.x2,mu.x1,mu.x2,sigma.x1,sigma.x2,
n1,n2) {
h=sqrt((sigma.x1^2)/n1+(sigma.x2^2)/n2)
two.zt.mean=((mean.x1-mean.x2)-(mu.x1-mu.x2))/h
return(two.zt.mean)
}#没有区别时mu1-mu2=0。双均值的统计量
one.z.prop <- function(p,pai=0.5,n) {
one.z.prop=(p-pai)/sqrt((pai*(1-pai))/n)
return(one.z.prop)
}#求比例的单个z或t统计值
two.z.prop.zero=function(x1,x2,n1,n2){
p=(x1+x2)/(n1+n2)
p1=x1/n1
p2=x2/n2
two.z.prop.zero=
(p1-p2)/
sqrt(
p*(1-p)*(1/n1+1/n2)
)
return(two.z.prop.zero)
}#求双比例的统计量等于0
two.z.prop.nonzero <- function(p1,p2,pi1,pi2,n1,n2) {
h=sqrt((p1*(1-p1))/n1+(p2*(1-p2))/n2)
two.z.prop.nonzero=
(p1-p2-(pi1-pi2))/h
return(two.z.prop.nonzero)
}#求双比例的统计量不等于0
one.chisp.var <- function(s,sigma,n) {
one.chisp.var=(n-1)*(s^2/sigma^2)
return(one.chisp.var)
}#求方差的单个统计量
normalplot <- function(lengths=3,times=5000) {
x=pretty(c(-lengths,lengths),times)
y=dnorm(x)
plot(x,y,
type = "l",
xlab = "Normal Deviate",
ylab = "Density",
yaxs = "i")
}
chisqplot <- function(lengths=40,times=5000) {
x=pretty(c(-lengths,lengths),times)
y=dchisq(x,10)
plot(x,y,
type = "l",
xlab = "chisp Deviate(n=10)",
ylab = "Density",
yaxs = "i")
}
#求分位数
#qchisq(lower.tail = FALSE)
#qt(lower.tail = FALSE)
#qnorm(lower.tail = FALSE)
#求离散变量的累计如P(X<2)
pbinom(2,8,0.5)-dbinom(2,8,0.5)
xSmallerNumber=function(X,n,prob){
result=pbinom(X,n,prob)-dbinom(X,n,prob)
return(result)
}
xSmallerNumber(2,8,0.5)
#标准正态分布
pnorm(0.56)-pnorm(-0.38)
#不标准正态分布比例
xunnormal=function(mu,sigma,nbig,nsmall){
normal1=(nbig-mu)/sigma
normal2=(nsmall-mu)/sigma
result=pnorm(normal1)-pnorm(normal2)
return(result)
}
#普通标准差
#std=sigma/sqrt(n)
#双样本样本标准误
two.std=function(sigma.x1,sigma.x2,n1,n2){
h=sqrt((sigma.x1^2)/n1+(sigma.x2^2)/n2)
return(h)
}
#SSA为组间,df=k-1,MSA=SSA/df
#SSR为回归平方和,df=1.MSE=SSE/df
#SSE为组内,df=n-k.MSE=SSE/df
#SSE为残差,df=n-2.MSE=SSE/df
#SST为总平方和,df=n-1.SST=SSA+SSE=SSR+SSE
#R^2=SSA/SST=SSR/SST=1-SSE/SST,R^2为判定系数,r为相关系数
#s_E=sqrt(SSE/(n-2))=sqrt(MSE)
#观测值为总df+1=n
#F=MSR/MSE=SSR/(SSE/n-2)
R
1
https://gitee.com/lu_zekai/r-book-of-learning.git
git@gitee.com:lu_zekai/r-book-of-learning.git
lu_zekai
r-book-of-learning
R学习之书
master

搜索帮助