R语言基础题及答案(三)——R语言与统计分析第三章课后习题(汤银才)

本文主要是介绍R语言基础题及答案(三)——R语言与统计分析第三章课后习题(汤银才),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

R语言与统计分析第三章课后习题(汤银才)

题-1

从1到100个自然数中随机不放回地抽取5个数, 并求它们的和.

sum(sample(1:100,5))

15~490任何一个数都有可能

[1] 299

题-2

从一副扑克牌(52张)中随机抽5张,求下列概率

  • 抽到的是10、J、Q、K、A;

  • 抽到的是同花顺.

# 抽到的是10、J、Q、K、A
4^5/choose(52,5)# 抽到的是同花顺
# 例如牌12345就只有12345一种同花顺
# 例如牌123456就有12345,23456两种同花顺
# 所以13种牌有13-5+1种同花顺
# 又因为有4种花色所以乘以4
4*(13-5+1)/choose(52,5)

[1] 0.0003940038
[1] 1.385169e-05

题-3

从正态分布N(100, 100)中随机产生1000个随机数,

  • 作出这1000个正态随机数的直方图;

  • 从这1000个随机数中随机有放回地抽取500个, 作出其直方图;

  • 比较它们的样本均值与样本方差.

# 生成正态分布随机数序列
v<-rnorm(1000,mean=10,sd=10)# 生成直方图
hist(v)# 有放回抽取500个,再次制作直方图
v2=sample(v,500,replace=TRUE)
hist(v2)# mean
mean(v)
mean(v2)# sd
sd(v)
sd(v2)

在这里插入图片描述
在这里插入图片描述

[1] 10.10301
[1] 10.04473
[1] 9.882417
[1] 10.26341

题-4

模 拟 随 机 游 动: 从 标 准 正 态 分 布 中 产 生1000个 随 机 数, 并 用 函数cumsum( )作出累积和, 最后使用命令plot( ) 作出随机游动的示意图:

x<-cumsum(rnorm(500))
plot(x)

在这里插入图片描述

题-5

从标准正态分布中随机产生100个随机数, 由此数据求总体均值的95%置信区间, 并与理论值进行比较.

t.test(rnorm(100,mean=0,sd=1))

One Sample t-test
.
data: rnorm(100, mean = 0, sd = 1)
t = 0.55763, df = 99, p-value = 0.5784
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-0.1382050 0.2462497
sample estimates:
mean of x
0.05402239

题-6

用本章给出的函数limite.central( ), 从图形上验证当样本容量足够大时, 从贝塔分布Beta(1/2, 1/2) 抽取的样本的样本均值近似服从正态分布.

# 以下为课本提供的limite.central()函数
limite.central<-function(r=runif, distpar=c(0,1), m=.5, s=1/sqrt(12), n=c(1,3,10,30), N=1000) {for(i in n){if(length(distpar)==2){x <- matrix(r(i*N, distpar[1], distpar[2]), nc=i)}else{x <- matrix(r(i*N, distpar), nc=i)}x<-(apply(x, 1, sum) - i*m )/(sqrt(i)*s)hist(x, col='light blue', probability=T,main=paste("n=",i),ylim=c(0,max(.4, density(x)$y)))lines(density(x), col='red', lwd=3)curve(dnorm(x), col='blue', lwd=3, lty=3, add=T)if( N>100 ){rug(sample(x,100))}else{rug(x)}}
}# 调用函数验证
op <- par(mfrow=c(2,2))
# 这里均值用的默认值,其期望为a/(a+b),a=1/2,b=1/2正好是默认值0.5
# 标准差用的sqrt(0.125),是因为方差为:ab/(a+b+1)/(a+b)^2=0.125
limite.central(rbeta,distpar=c(1/2,1/2),n=c(1,3,5,10),s=sqrt(0.125))
par(op)

可以看出随着每组样本个数增加,其均值的分布越来越接近正态分布(蓝线)
在这里插入图片描述

题-7
  • 使用rnorm( )抽取n=1000个标准正态随机数, 并在左侧区域画出相应 的直方图和核密度估计曲线;

  • 用格子点离散化抽样方法完成抽样, 并在右侧区域画出相应的直方图和核密度估计曲线, 离散化所用的N=1000, n=1000, 取点范围为r=[4, 4]

# create and draw left
rn<-rnorm(1000,mean=0,sd=1)
op<-par(mfrow=c(1,2))
hist(rn,probability = T)
lines(density(rn),col='red',lwd=3)# create right
N<-seq(-4,4,length=1000)
f<-function(x)dnorm(x)/sum(dnorm(x)) 
f1<-f(N)
result<-sample(N,replace=T,size=1000,prob=f1)# draw right
hist(result,probability=T)
lines(density(result),col="red",lwd=3)
par(op)

在这里插入图片描述

这篇关于R语言基础题及答案(三)——R语言与统计分析第三章课后习题(汤银才)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583634

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验