重庆大学3程序填空题题库及答案文档格式.docx
《重庆大学3程序填空题题库及答案文档格式.docx》由会员分享,可在线阅读,更多相关《重庆大学3程序填空题题库及答案文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
“运算成功”.这个例子是为了检验数论中的一个简单的定理.请补全下列程序:
fn=function(n){
if(n<
=0)
list(fail="
要求输入一个正整数"
)
else{
i=0;
______{
if(n______2==0)
n=______
______
n=(3*n+1)
if(n==1)break
i=i+1
______(result="
运算成功"
n=n,iter=i)
##运行得到如下结果:
fn
(1)
$result
[1]"
$n
[1]1
$iter
[1]2
第三章数据描述性分析
3.data_outline.R计算样本的各种描述性统计量。
请补全该程序。
data_outline=function(x){
n=length(x)
m=______(x)
v=______(x)
s=sd(x)
me=______(x)
cv=100*s/m
css=sum((x-m)^2)
uss=sum(x^2)
R=___________
R1=quantile(x,3/4)-quantile(x,1/4)
sm=______
g1=n/((n-1)*(n-2))*sum((x-m)^3)/s^3
g2=((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4
-(3*(n-1)^2)/((n-2)*(n-3)))
data.frame(N=n,Mean=m,Var=v,std_dev=s,Median=me,
std_mean=sm,CV=cv,CSS=css,USS=uss,R=R,
R1=R1,Skewness=g1,Kurtosis=g2,row.names=1)
第四章参数估计
4.请写出正态均值、方差区间估计及假设检验,非正态均值区间估计的函数名(共23个程序)
正态均值区间估计及假设检验
单总
两总
Sigma已知
Sigma未知
Sigma1,sigma2已知
Sigma1,sigma2未知=
Sigma1,sigma2
未知!
=
区间估计
interval_estimate1(双)
√
interval_estimate2(双)
interval_estimate5(单、双)
t.test(单、双)
X
t.test(单、双、成对)
假设检验
mean.test2
interval_estimate4(区)
t.test(区)
t.test(区、成对)
正态方差区间估计及假设检验
Mu
已知
未知
mu1,mu2
interval_var2(双)
interval_var3(单、双)
interval_var4(单、双)
var.test(单、双)
var.test1
var.test2
interval_var3(区)
interval_var4(区)
非正态均值区间估计:
interval_estimate3(双)
5.单个正态总体均值
的区间估计函数是interval_estimate1.R,请补全此程序。
interval_estimate1=function(x,sigma=-1,alpha=0.05){
n=length(x);
xb=mean(x)
if(_____________){
tmp=sigma/sqrt(n)*_____________;
df=n
tmp=_____________*qt(1-alpha/2,n-1);
df=_____________
_____________(mean=xb,df=df,a=xb-tmp,b=xb+tmp)
6.单个正态总体方差
的区间估计函数是interval_var1.R,请补全此程序。
interval_var1=function(x,___________,alpha=0.05){
n=length(x)
if(___________){
S2=___________;
S2=var(x);
df=___________
a=df*S2/qchisq(1-alpha/2,df)
b=df*S2/qchisq(alpha/2,df)
data.frame(var=___________,df=df,a=a,b=b)
第五章假设检验
7.P_value.R为求P值的R程序,请补全它。
P_value=function(cdf,x,___________,side=0){
n=length(paramet)
P=___________(___________,
cdf(x),
cdf(x,paramet),
cdf(x,paramet[1],paramet[2]),
cdf(x,paramet[1],paramet[2],paramet[3])
)
if(___________)P
elseif(side>
0)___________
else
if(P<
1/2)2*P
else2*(1-P)
8.mean.test1.R是求单个正态总体均值检验的R程序,请补全它。
mean.test1=function(x,mu=0,__________,side=0){
source("
__________"
if(__________){
z=(xb-mu)/(sigma/sqrt(n))
P=P_value(__________,z,side=side)
data.frame(mean=xb,df=n,Z=z,P_value=P)
t=(xb-mu)/(sd(x)/sqrt(n))
P=P_value(__________,t,paramet=n-1,side=side)
data.frame(mean=xb,df=n-1,T=t,P_value=P)
9.var.test1.R是求单个正态总体方差检验的R程序,请补全它。
var.test1=function(x,sigma2=1,_________,side=0){
P_value.R"
if(_________){
S2=_________;
df=n
df=n-1
chi2=df*S2/sigma2;
P=P_value(_________,chi2,paramet=_________,side=side)
data.frame(var=S2,df=df,chisq2=chi2,P_value=P)
第六章回归分析
10.下面是利用R软件中的lm()求解回归参数的计算过程。
请补全结果,在横线上填统计量,而不是具体的数值。
>
x=c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0.23)
y=c(42.0,43.5,45.0,45.5,45.0,47.5,49.0,53.0,50.0,55.0,55.0,60.0)
lm.sol=lm(y~1+x)
summary(lm.sol)
Call:
lm(formula=y~1+x)
Residuals:
Min1QMedian3QMax
-2.0431-0.70560.16940.66332.2653
Coefficients:
EstimateStd.ErrortvaluePr(>
|t|)
(Intercept)__________________5.88e-09***
x130.8359.68313.519.50e-08***
---
Signif.codes:
0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:
______on10degreesoffreedom
MultipleR-Squared:
______,AdjustedR-squared:
0.9429
F-statistic:
182.6on1and10DF,p-value:
9.505e-08
第七章方差分析
11.请补全单因素方差分析表。
因素Ar-1
MSA=_________F=__________p
误差n-r
MSE=_________
总和______________
第八章应用多元分析(I)
12.请补全以下程序。
discriminiant.distance=function
(TrnX1,TrnX2,_________=NULL,var.equal=FALSE){
if(is.null(TstX)==TRUE)TstX=rbind(TrnX1,TrnX2)
if(is.vector(TstX)==TRUE)TstX=______________
elseif(is.matrix(TstX)!
=TRUE)
TstX=as.matrix(TstX)
if(is.matrix(TrnX1)!
=TRUE)TrnX1=as.matrix(TrnX1)
if(is.matrix(TrnX2)!
=TRUE)TrnX2=as.matrix(TrnX2)
nx=nrow(TstX)
blong=matrix(rep(0,nx),nrow=1,byrow=TRUE,
dimnames=list("
blong"
1:
nx))
mu1=colMeans(TrnX1);
mu2=colMeans(TrnX2)
if(______________){
S=_________(rbind(TrnX1,TrnX2))
w=mahalanobis(TstX,mu2,S)-mahalanobis(TstX,mu1,S)
S1=var(TrnX1);
S2=var(TrnX2)
w=mahalanobis(TstX,mu2,S2)-mahalanobis(TstX,mu1,S1)
for(iin1:
nx){
if(w[i]>
0)
blong[i]=1
else
blong[i]=2
_________
13.请补全以下程序。
distinguish.distance=function
(TrnX,________,TstX=NULL,var.equal=FALSE){
if(___________==FALSE){
mx=nrow(TrnX);
mg=nrow(TrnG)
TrnX=rbind(TrnX,TrnG)
TrnG=factor(rep(1:
2,c(mx,mg)))
if(is.null(TstX)==TRUE)TstX=TrnX
if(is.vector(TstX)==TRUE)TstX=t(as.matrix(TstX))
if(is.matrix(TrnX)!
=TRUE)TrnX=as.matrix(TrnX)
blong=matrix(rep(0,nx),nrow=1,dimnames=list("
g=length(levels(TrnG))
mu=matrix(0,nrow=g,ncol=ncol(TrnX))
g)
mu[i,]=colMeans(TrnX[TrnG==i,])
D=matrix(0,nrow=g,ncol=nx)
if(____________________){
D[i,]=_________________________
D[i,]=mahalanobis(TstX,mu[i,],var(TrnX[TrnG==i,]))
for(jin1:
______________
if(D[i,j]<
dmin){
dmin=D[i,j];
blong[j]=i
blong
14.请补全以下程序。
discriminiant.bayes=function
(TrnX1,TrnX2,__________,TstX=NULL,var.equal=FALSE){
S=var(rbind(TrnX1,TrnX2));
beta=__________
w=_____________________________________
beta=2*log(rate)+log(det(S1)/det(S2))
if(__________)
第九章应用多元分析(II)
15.下面是主成分法的R程序,请补全它。
factor.analy1=function(S,m){
p=nrow(S);
diag_S=diag(S);
sum_rank=sum(diag_S)
rowname=paste("
X"
p,sep="
"
colname=paste("
Factor"
m,sep="
A=matrix(0,nrow=p,ncol=m,
dimnames=list(rowname,colname))
eig=______________
m)
A[,i]=__________________*eig$vectors[,i]
h=diag(______________)
rowname=c("
SSloadings"
"
ProportionVar"
CumulativeVar"
B=matrix(0,nrow=3,ncol=m,
m){
B[1,i]=______________
B[2,i]=B[1,i]/sum_rank
B[3,i]=sum(B[1,1:
i])/sum_rank
method=c("
PrincipalComponentMethod"
list(method=method,loadings=A,
var=__________(common=h,spcific=diag_S-h),B=B)
16.下面是主因子法的R程序,请补全它。
factor.analy2=function(_____________){
p=nrow(R);
diag_R=diag(R);
sum_rank=sum(diag_R)
kmax=20;
k=1;
h=_________
_________{
diag(R)=h;
h1=h;
eig=eigen(R)
A[,i]=sqrt(eig$values[i])*eig$vectors[,i]
h=diag(A%*%t(A))
if((___________________<
1e-4)|k==kmax)break
B[1,i]=sum(A[,i]^2)
_________=c("
PrincipalFactorMethod"
var=cbind(common=h,spcific=diag_R-h),B=B,iterative=k)
}
17.下面是将因子分析的三种估计方法结合在一起的R程序,请补全它。
factor.analy=function(S,m=0,
d=______________,method="
___________"
){
eig=eigen(S)
sum_eig=sum(diag(S))
p){
if(________________/sum_eig>
0.70){
m=i;
break
factor.analy1.R"
factor.analy2.R"
factor.analy3.R"
___________(method,
princomp=factor.analy1(S,m),
factor=factor.analy2(S,m,d),
likelihood=factor.analy3(S,m,d)
)
程序填空题题库答案
Newton法的迭代格式