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

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

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

题-1

用函数rep( )构造一个向量x, 它由3个3, 4个2, 5个1构成.

x<-rep(c(3,2,1),times=c(3,4,5));print(x)

[1] 3 3 3 2 2 2 2 1 1 1 1 1

题-2

由1, 2, . . . , 16构成二个方阵, 其中矩阵A按列输入, 矩阵B按行输入, 并 计算:

  1. C=A+B;

  2. D=A.*B;

  3. E=AB;

  4. 去除A的第3行, B的第3列, 重新计算上面的矩阵E

# 构造矩阵A B
A<-matrix(data=1:16,4)
B<-matrix(data=1:16,4,byrow=TRUE)# 1)C=A+B
C<-A+B;print(C)# 2)D=A.*B
D<-A*B;print(D)# 3)E=A*B
E<-A%*%B;print(E)# 4)E=A[-3,]*B[,-3]
E<-A[-3,]%*%B[,-3];print(E)

…[,1] [,2] [,3] [,4]
[1,] 2 7 12 17
[2,] 7 12 17 22
[3,] 12 17 22 27
[4,] 17 22 27 32
.
…[,1] [,2] [,3] [,4]
[1,] 1 10 27 52
[2,] 10 36 70 112
[3,] 27 70 121 180
[4,] 52 112 180 256
.
…[,1] [,2] [,3] [,4]
[1,] 276 304 332 360
[2,] 304 336 368 400
[3,] 332 368 404 440
[4,] 360 400 440 480
.
… [,1] [,2] [,3]
[1,] 276 304 360
[2,] 304 336 400
[3,] 360 400 480

题-3

函数solve( )有二个作用: solve(A,b)可用于求解线性方程组Ax=b, solve(A)可用于求矩阵A的逆. 设 A = [ 1 2 3 4 5 6 7 8 10 ] , b = [ 1 1 1 ] \mathbf{A}=\left[\begin{array}{lll}1 & 2 & 3 \\4 & 5 & 6 \\7 & 8 & 10\end{array}\right], \quad b=\left[\begin{array}{l}1 \\1 \\1\end{array}\right] A=1472583610,b=111

用二种方法编程求方程组Ax=b的解

# 矩阵和向量定义
A<-matrix(data=c(1:8,10),3,byrow=TRUE);print(A)
b<-matrix(rep(1,3),3)# 法一
solve(A,b)# 法二
solve(A)%*%b

…[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 10
.
…[,1]
[1,] -1.000000e+00
[2,] 1.000000e+00
[3,] 3.330669e-16
.
… [,1]
[1,] -1.000000e+00
[2,] 1.000000e+00
[3,] 4.440892e-16

题-4

设x与y表示n维的向量,则x%*%y或crossprod(x,y)用于求它们的内积, 即t(x)%*%y; 而x%o%y或outer(x, y)用于求它们的外积(outer product 符号用aob表示,注意和叉积区分cross product符号用axb表示), 即x%*%t(y), 其中(t( ))表示矩阵或向量的转置. 设x=(1, 2, 3, 4, 5), y=(2, 4, 6, 8, 10)用三 种不同的方法求它们的内积与外积.

# 构造
x=1:5
y=x*2# 内积
x%*%y
t(x)%*%y
crossprod(x,y)# 外积
x%o%y
x%*%t(y)
outer(x, y)

…[,1]
[1,] 110
.
…[,1]
[1,] 110
.
…[,1]
[1,] 110
.
… [,1] [,2] [,3] [,4] [,5]
[1,] 2 4 6 8 10
[2,] 4 8 12 16 20
[3,] 6 12 18 24 30
[4,] 8 16 24 32 40
[5,] 10 20 30 40 50
.
… [,1] [,2] [,3] [,4] [,5]
[1,] 2 4 6 8 10
[2,] 4 8 12 16 20
[3,] 6 12 18 24 30
[4,] 8 16 24 32 40
[5,] 10 20 30 40 50
.
… [,1] [,2] [,3] [,4] [,5]
[1,] 2 4 6 8 10
[2,] 4 8 12 16 20
[3,] 6 12 18 24 30
[4,] 8 16 24 32 40
[5,] 10 20 30 40 50

题-5

编写一个用二分法求非线性方程根的函数, 并求方程

x 3 − x − 1 = 0 x^3 - x -1 = 0 x3x1=0

在区间 [ 1 , 2 ] [1, 2] [1,2]内的根, 精度要求 ϵ = 1 0 − 5 \epsilon=10^{-5} ϵ=105

# f:待求方程
# xl:自变量下限,xu:自变量上限
# eps:精确度
# xm:中点值(xu+xl)/2
fzero<-function(f,xl,xu,eps=1e-5){if(f(xl)*f(xu)>0){print("找不到该区间内的零点")}else{while(xu-xl>eps){xm<-(xu+xl)/2if(f(xu)*f(xm)<0){xl<-xm}else{xu<-xm}}root<-(xu+xl)/2}root
}# f=x^3-x-1
f<-function(x){x^3-x-1}# 调用函数求零点
fzero(f,1,2,eps=1e-5)

[1] 1.324718

题-6

自己编写一个函数, 求数据 y = ( y 1 , y 2 , . . . , y n ) y=(y_1, y_2, . . . , y_n) y=(y1,y2,...,yn)的均值、标准差、偏度与峰度.

library(fBasics)# 写汉语比较有意思
getData<-function(y){result<-list("均值"=mean(y),"标准差"=sd(y),"偏度"=skewness(y),"峰度"=kurtosis(y))
}y=1:10
result<-getData(y)
result$均值
result$标准差
result$偏度
result$峰度

[1] 5.5
[1] 3.02765
[1] 0
attr(,“method”)
[1] “moment”
[1] -1.561636
attr(,“method”)
[1] “excess”

题-7

有10名学生的身高与体重数据如表2.7所示.

1)用数据框的形式读入数据;

2)将数据表2.7写成一个纯文本的文件, 并用函数read.table( )读取该文件中的数据;

表 2.7 学生身高与体重数据

序号性别年龄身高/cm体重/kg
1F1415642.3
2F1615845.0
3F1516148.5
4F1715651.5
5F1515344.6
6M1416248.8
7M1615746.7
8M1415949.9
9M1516350.2
10M1616553.7
  1. 用函数write.csv( )写成一个能用Excel打开的文件, 测试是否成功.
# 数据框构造
info<-data.frame("序号"=1:10,"性别"=c(rep("F",5),rep("M",5)),"年龄"=c(14,16,15,17,15,14,16,14,15,16),"身高/cm"=c(156,158,161,156,153,162,157,159,163,165),"体重/kg"=c(42.3,45.0,48.5,51.5,44.6,48.8,46.7,49.9,50.2,53.7))
print(info)# txt写入及导入
write.table(info,file="info.txt")
read.table("info.txt")# csv写入及导入
write.csv(info,file="info.csv")
read.csv("info.csv")

在这里插入图片描述

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


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/583633

相关文章

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整