R语言期末考试复习题第一天整理内容
s=c(15,21,39,45,17)
sum(s)
he=0
for(i in 1:length(s))
{
he=he+s[i]
}
print(he)
s=c(15,21,39,45,17)
sum(s)
he=0
i=1
while(i<=length(s))
{
he=he+s[i]
i=i+1
}
print(he)
he=0
for(i in 1:15)
{
if(i%%3==0){
he=he+i
}
}
print(he)
jiecheng=function(n){
chengji=1
for(i in 1:n){
chengji=chengji*i
}
return(chengji)
}
f<-function(data,a){
x<-data[[1]]
y<-data[[2]]
n1<-length(x);n2<-length(y)
meanx<-mean(x);meany<-mean(y)
varx<-var(x);vary<-var(y)
var<-((n1-1)*varx+(n2-1)*vary)/(n1+n2-2)
t0<-(meanx-meany)/sqrt(var*(1/n1+1/n2))
t<-qt(p=1-a,df=n1+n2-2)
Z<-ifelse(t0>=t,"结论为拒绝原假设,即两个总体均值有显著差异!","结论为不拒绝原假设!")
data.frame(meanx,meany,varx,vary,var,t0,t,Z)
}
A<-c(79.98,80.04,80.02,80.04,80.03,80.03,80.04,79.97,80.05,80.03,80.02,80.00,80.02)
B<-c(80.02,79.94,79.98,79.97,79.97,80.03,79.95,79.97)
data<-list(A,B)
f(data,0.05)
k = 100
beta_x1 = c()
beta_x2 = c()
for (i in 1:k) {
beta1 = 0.8
beta2 = 1.8
x1 = rnorm(100,5,3)
x2 = rnorm(100,100,10)
error = rnorm(100,0,1)
y = 1.5+0.8*x1+1.8*x2+error
data1 = data.frame(x1,x2,y)
res = lm(y~x1+x2,data = data1)
res = summary(res)
beta1_r = (res$coefficients[2]-beta1)^2
beta2_r = (res$coefficients[3]-beta2)^2
beta_x1 = c(beta_x1,beta1_r)
beta_x2 = c(beta_x2,beta2_r)
}
MSEx1 = sum(beta_x1)/length(beta_x1)
MSEx2 = sum(beta_x2)/length(beta_x2)
message('x1的MSE为:',MSEx1)
message('x2的MSE为:',MSEx2)
decisionCondition = function(a){
a[2]-log(a[1])
}
n = 1000
x = runif(n,5,9)
y = runif(n,0,log(9))
A = cbind(x,y)
A
b = apply(A, 1, decisionCondition)
b
mean(b<0)*4*log(9)
n=10000
x = runif(n,5,9)
x
mean(log(x))*4
fun1=function(x,n){
s=0
for(i in 0:n){
s=s+x^i
}
message("前n项数的和为:",s)
}
fun1(2,4)
x=round(runif(100,0,5.1))
y=c()
x[which(x!=3)]=1
x[which(x==3)]=0
x
message("y中有",sum(x),"个1")
- [问题标注 ]
- (问题已解决:
- library(openxlsx)
setwd("C:/Users/Administrator/Desktop/lm程序")
data2=read.xlsx("用到的数据1.xlsx", sheet =1,colNames=TRUE)
data2=lm(y~x1+x2+x3+x4,data=data2)
summary(data2)
- )
data2=read.table("clipboard",header=T)
lm.salary=lm(y~x1+x2+x3+x4,data=data2)
summary(lm.salary)
data.lm1=step(lm.salary,direction='forward')
summary(data.lm1)
data.lm2=step(lm.salary,direction='backward')
summary(data.lm2)
data.lm3=step(lm.salary,direction='both')
summary(data.lm3)
i=1
s=0
while(i<=100){
s=s+i
i=i+1
}
print(s)
data1.1=c(1:100)
fun=function(data1.1){
s=0
for(i in 1:length(data1.1)){
s=s+data1.1[i]
}
message("1到100的和为",s)
}
fun(data1.1)
funj=function(chengji){
if(90<=chengji){
print("等级为A")
}
else if(80<=chengji){
print("等级为B")
}
else if(70<=chengji){
print("等级为C")
}
else if(60<=chengji){
print("等级为D")
}
else{
print("等级为E")
}
}
funj(59)
funN=function(x,u,sigma){
y=(sqrt(2*pi)*sigma)^(-1)*exp(-(x-u)^2/(2*sigma^2))
return(y)
}
funN(1,0,1)
dnorm(1,0,1)
decisionCondition=function(a){
a[2]-sin(a[1])
}
n=10000
x=runif(n,2,3)
y=runif(n,0,sin(2))
A=cbind(x,y)
A
b=apply(A,1,decisionCondition)
mean(b<=0)*1*sin(2)
n=10000
x=runif(n,2,3)
mean(sin(x))*(3-2)
decisionCondition=function(a){
a[2]-(a[1])^2
}
n=10000
x=runif(n,2,3)
y=runif(n,0,9)
A=cbind(x,y)
A
b=apply(A,1,decisionCondition)
mean(b<=0)*1*9
n=10000
x=runif(n,2,3)
mean(x^2)*(3-2)
data=c(0.497,0.506,0.524,0.518,0.498,0.511,0.520,0.515,0.512)
funt=function(data,alpha,u){
x_bar=mean(data)
t_value=(x_bar-u)/(sd(data)/sqrt(length(data)))
if(abs(t_value)>qt(1-alpha/2,length(data)-1)){
print('拒绝原假设')
}
else{
print('接受原假设')
}
}
funt(data,0.975,0.5)