R语言期末考试复习题第一天整理内容


#期末考试例题##1.写出函数来计算15,21,39,45,17的和:分别用for循环和while循环。
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)#2.用循环程序求出1——15之间能被3整除数的和,并输出结果。
he=0
for(i in 1:15)
{if(i%%3==0){he=he+i}
}
print(he)#3.写出一个函数计算n的阶乘。
jiecheng=function(n){chengji=1for(i in 1:n){chengji=chengji*i}return(chengji)
}
#4.给出任意两组数,写出函数通用公式计算两组数的相关系数。
#5.给定一个圆半径(r)>=0,计算并输出圆的面积和周长,否则,输出提示信息。# 第一次作业内容:写出比较两个总体均值差异显著性检验的函数,
# 要求函数输入参数只有两个,一个为数据文件data,另一个是显著性水平,默认值设置为0.05。
# 输出结果包括两个样本均值,两个两个样本方差,合并方差,检验统计量,t分布临界值和结论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)#第二次作业:
# 计算(模拟数据)的平均误差
# 模拟出5000个Y=beta1*x1+beta2*x2;
k = 100 # 定义实验次数
beta_x1 = c() # 定义空列
beta_x2 = c()
for (i in 1:k) {beta1 = 0.8 # 设置真实系数beta2 = 1.8x1 = rnorm(100,5,3) # 产生随机数x2 = rnorm(100,100,10)error = rnorm(100,0,1) # 产生随机误差y = 1.5+0.8*x1+1.8*x2+errordata1 = 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)^2beta_x1 = c(beta_x1,beta1_r)# 追加成向量beta_x2 = c(beta_x2,beta2_r)}
MSEx1 = sum(beta_x1)/length(beta_x1) # 求MES的公式
MSEx2 = sum(beta_x2)/length(beta_x2)
message('x1的MSE为:',MSEx1)
message('x2的MSE为:',MSEx2)#第三次作业:
# 计算lnx在5到9上的积分:# 方法一:蒙特卡洛法
# 在长度为4,高度为ln(9)的矩形上进行随机采点,每个点有对应的x,y坐标。
# 当随机点的y值低于其x值取对数(lnx))时,则该点落入目标区域面积,目标区域采点数+1,
# 最后以:(落入目标区域点数)/(总点数) * 矩形面积,则得到近似的目标区域面积。
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) # 注意这里,将算出来的面积乘上总面积得到积分区域面积# 方法二:微元法
# 沿x轴上的5-9区间,将目标区域面积分割为多个曲边梯形,计算出单个曲边梯形的面积并进行加总。
# 对于第i个曲边梯形而言,上底和下底之和为y[i]+y[i+1],对应梯形的高即为分割的单个区间长度
# ,为(9-5)/n,此梯形的面积即为((y[i]+y[i+1])*(9-5)/n)/2。依次递推,将全部n-1个梯形面积进行加总。
n=10000
x = runif(n,5,9)
x
mean(log(x))*4 # 乘以(b-a)#编写函数计算h(x,n)=1+x+x^2+...+x^n
fun1=function(x,n){s=0for(i in 0:n){s=s+x^i}message("前n项数的和为:",s)
}
fun1(2,4)#调用函数# x向量的值为100个5以内(包括5)的随机整数,
# 产生一个长度与x相等的y向量,
# 对于x中值为3的元素,y的对应元素赋值为0,其余赋值为1。
# 计算y中有多少1。
x=round(runif(100,0,5.1))
y=c()
x[which(x!=3)]=1# x其余赋值为1
x[which(x==3)]=0# x中值为3的元素,y的对应元素赋值为0
x
#赋值顺序不能错。
message("y中有",sum(x),"个1")#(1)读入数据C:/Users/Administrator/Desktop/lm程序/eg2.1用到的数据csv格式"
# 建立y关于x1、x2、x3、x4的线性回归方程。- [问题标注 ] #此处导入数据文档有误,故采用复制粘贴手法,但得到程序运行结果仍然有问题。- (问题已解决:- 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)- )# library(openxlsx)
# setwd("C:/Users/Administrator/Desktop/lm程序")
# data2=read.xlsx("用到的数据1.xlsx", sheet =1,colNames=TRUE)data2=read.table("clipboard",header=T)
lm.salary=lm(y~x1+x2+x3+x4,data=data2)
summary(lm.salary)#(2)采用逐步回归法建立y关于x1、x2、x3、x4的线性回归方程,
# 并对方程和回归系数进行显著性检验。
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)#使用while循环求1+2+...+100的和
i=1
s=0
while(i<=100){s=s+ii=i+1
}
print(s)#使用for求1+2+...+100的和
data1.1=c(1:100)
fun=function(data1.1){s=0for(i in 1:length(data1.1)){s=s+data1.1[i]}message("1到100的和为",s)
}
fun(data1.1)# 编写函数,对任一个百分制的成绩M,将其转换成对应的等级,
# 具体转换规则如下:
# 90-100为A; 80-89为B; 70-79为C; 60-69为D; 0-59为E;
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)#编写函数出任意给定x的值,
# 计算正态分布密度函数N()的值。
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)
#dnorm(x, mean = 0, sd = 1, log = FALSE)
# 的返回值是正态分布概率密度函数值,#用蒙特卡洛法计算sin x从2-3上积分的值
#方法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)#将算出来的面积乘上总面积得到积分区域面积#方法2:
n=10000
x=runif(n,2,3)
mean(sin(x))*(3-2)#用蒙特卡洛法计算x^2从2-3上的积分
#方法1:
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#方法2:
n=10000
x=runif(n,2,3)
mean(x^2)*(3-2)#给定一组数,检验其均值等于某一常数(t检验)
# μ0 = 0.5,进行双侧检验,
# X=c(0.497,0.506,0.524,0.518,0.498,0.511,0.520,0.515,0.512)
# μ = 0.5 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)# dnorm(x, mean = 0, sd = 1, log = FALSE)
# 的返回值是正态分布概率密度函数值,
# 比如dnorm(z)则表示:
# 标准正态分布密度函数f(x)在x=z处的函数值。# pnorm(n, mean = 0, sd = 1,lower.tail = TRUE, log.p = FALSE)为概率分布函数。pnorm(z)等价于P[x<=z]
# qnorm(n, mean = 0, sd = 1,lower.tail = TRUE, log.p = FALSE)为pnorm的逆运算,返回给定P的下分位点z。
# rnorm(n, mean = 0, sd = 1)生成符合正态分布的随机数

R语言期末考试复习题第一天整理内容(自己整理+参考博主:紧到长不胖 )请多关注 紧到长不胖 ,每天有惊喜!相关推荐

  1. 湖南工业大学c语言在线作业答案,湖南工业大学C语言期末考试复习题(机房题库)...

    C语言期末考试复习题(机房题库) 2.下列各选项中,合法的c语言关键字是( ). A. integex B. sin C. string D. void参考答案: D 3.C语言的程序一行写不下时,应 ...

  2. c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目

    C语言期末考试复习资料 计算机等级考试复习题目 国二国三资料题目 1 C 语言复习题 @复刻回忆 新浪微博账号:http://doc.xuehai.net/panhe14 个人主页 http://do ...

  3. c语言期末考试复习题

    单项选择题 1.( A  )是构成C语言程序的基本单位. A.函数        B.过程       C.子程序    D.子例程 2.C语言程序从C  开始执行. A) 程序中第一条可执行语句   ...

  4. R语言期末复习资料----助力高绩点

    多元统计分析及R语言建模(第四版) R语言期末复习资料 第一章 多元统计分析概述 1.列出常用的统计软件,说明其使用范围和各自的优缺点 解: (1)SAS:组合软件系统,入门比较困难 (2)SPSS: ...

  5. c语言大一期中考试含答案,大一C语言期末考试选择复习题.docx

    大一C语言期末考试选择复习题 ### ~~~1 下列叙述中正确的是( ). 程序设计就是编制程序 程序的测试必须由程序员自己去完成 程序经调试改错后还应进行再测试 程序经调试改错后不必进行再测试 ~C ...

  6. C语言计算机二级/C语言期末考试 刷题(四)

    收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易,大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章: C语言计算机二级/C语言期末考试 刷题(一) C语言计算机二级/C语 ...

  7. 编译原理 期末考试复习题

    期末考试复习题 判断 高级程序设计语言的代码在机器上运行可通过编译方式或解释方式实现,编译方式优于解释方式.错误 计算机只能识别机器代码,所以只能用机器语言实现编译程序.错误 不是所有句型都有规范推导 ...

  8. 计算机c语言期末答案,计算机C语言期末考试复习试题及答案[1]

    <计算机C语言期末考试复习试题及答案[1]>由会员分享,可在线阅读,更多相关<计算机C语言期末考试复习试题及答案[1](26页珍藏版)>请在人人文库网上搜索. 1.C语言复习题 ...

  9. 软件工程期末考试复习题

    软件工程期末考试复习题 时间:2019年7月5日考 作者:玄月二五 1.8 练习题 -.填空题 1.软件工程是一门综合性的交叉学科,它涉及计算机学科.工程学科.管理学科和数学学科. 2.软件工程研究的 ...

  10. C语言计算机二级/C语言期末考试 刷题(二)

    收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易,大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章: C语言计算机二级/C语言期末考试 刷题(一) 目录 一.填空   共 ...

最新文章

  1. java中位数_JAVA中位数排序
  2. Canal安装说明(Windows版)
  3. iOS旋钮动画-CircleKnob
  4. LeetCode 143. 重排链表(Reorder List)
  5. python模块与包
  6. aso优化师是什么_2019最新ASO优化常见问题精选(下)
  7. 深入浅出学Hive:Hive优化
  8. MFC改变对话框背景图片实例
  9. 计算机主板用塑料做的好吗,电脑主板包装的塑料袋为什么是用透明胶封的,这样...-卓优商学问答...
  10. 资源调度_提前计划+实时调度,实现月台资源高效利用
  11. DEM数据局部修改高程
  12. 2 测试方法与理论 - 软件测试
  13. 我是如何纯靠技术在大学月入上万,收获人生第一个10W
  14. 计算机应用选购哪些电脑,如何选购笔记本电脑 购买笔记本的8个技巧
  15. 【扯皮系列】一篇与众不同的 String、StringBuilder 和 StringBuffer 详解
  16. 删除linux终端的历史命令,清除Linux终端命令的历史记录
  17. 用javascript实现九九乘法口诀表
  18. 【Web技术】1159- 浅析 Web 录屏技术方案与实现
  19. 读书百客:《小星》赏析
  20. 图像mnf正变换_PCA和MNF变换及MNF错误

热门文章

  1. FusionCharts学习总结
  2. 服务器的mib文件,snmp 服务器增加 mib
  3. C++日志操作开源函数库之Google-glog【Caffe源代码静态库封装--------关键错误点解决必备参考资料】
  4. 红米note5刷android,红米Note5 安卓9.0 解锁Bootloader-刷入第三方TWRP_Recovery 获取完整ROOT教程...
  5. 文字识别方法全面整理
  6. 聊天室群聊以及私聊功能的实现
  7. 简述微型计算机的发展历程,1.1 计算机的发展历程
  8. 曾经写过得太监小说2《天道》
  9. 通过远程PHP远程调用ZABBIX接口获取数据
  10. 某程序员:这辈子再也不想为谁拼刀刀了!