目录
一、四则运算
练习:
二、数学函数
1.数学函数——平方根、指数、对数
2.数学函数——取整
3.数学函数——三角函数
4.数学函数——反三角函数
5.分布函数和分位数函数
三、输出
1.简单输出
2.用 sink() 函数作运行记录
练习
四、向量计算与变量赋值
练习
一、四则运算
四则运算如:
5 + (2.3 - 1.125)*3.2/1.1 + 1.23E3
# 1.23E3 = 1230
返回:
输出前面的方括号和序号 1 是在输出有多个值时提供的提示性序号,只有单个值时为了统一起见也显 示出来了。这里 1.23E3 是科学记数法,表示 1.23 × 103。用星号 * 表示乘法,用正斜杠/表示除法。
用 ˆ 表示乘方运算,如
2^10
返回:
练习:
1. 某人存入 10000 元 1 年期定期存款,年利率 3%, 约定到期自动转存(包 括利息)。问:
(1) 10 年后本息共多少元?
(2) 需要存多少年这 10000 元才能增值到 20000 元?
2. 成语说:“智者千虑,必有一失;愚者千虑,必有一得”。设智者作判断的准确率为 p1 = 0.99, 愚者作判断的准确率为 p2 = 0.01,计算智者做 1000 次独立的判断至少犯一次错误的概率,与愚者做 1000 次独立判断至少对 一次的概率。
二、数学函数
1.数学函数——平方根、指数、对数
例:
sqrt(6.25) #根号
## [1] 2.5
exp(1) #指数
## [1] 2.718282
log10(10000) #对数
## [1] 4
返回:
2.数学函数——取整
例:
round(1.1234, 2)
## [1] 1.12
round(-1.9876, 2)
## [1] -1.99
floor(1.1234)
## [1] 1
floor(-1.1234)
## [1] -2
ceiling(1.1234)
## [1] 2
ceiling(-1.1234)
## [1] -1
- round(1.1234, 2) 表示把 1.1234 四舍五入到两位小数。
- floor(1.1234) 表示把 1.1234 向下取整,结果为 1。
- ceiling(1.1234) 表示把 1.1234 向上取整,结果为 2
3.数学函数——三角函数
pi
## [1] 3.141593
sin(pi/6)
## [1] 0.5
cos(pi/6)
## [1] 0.8660254
sqrt(3)/2
## [1] 0.8660254
tan(pi/6)
## [1] 0.5773503
- pi 表示圆周率 π。sin 正弦, cos 余弦, tan 正切, 自变量以弧度为单位。pi/6 是 30◦。
4.数学函数——反三角函数
pi/6
## [1] 0.5235988
asin(0.5)
## [1] 0.5235988
acos(sqrt(3)/2)
## [1] 0.5235988
atan(sqrt(3)/3)
## [1] 0.5235988
- asin 反正弦, acos 反余弦, atan 反正切,结果以弧度为单位。
5.分布函数和分位数函数
dnorm(1.98) #dnorm(x) 表示标准正态分布密度
## [1] 0.05618314
pnorm(1.98) #pnorm(x) 表示标准
正态分布函数
## [1] 0.9761482
qnorm(0.975) #qnorm(y) 表示标准正态分布分位数函数
## [1] 1.959964
再比如求自由度为 10 的 t 检验的双侧临界值。
qt(1 - 0.05/2, 10)
## [1] 2.228139
其中 qt(y,df) 表示自由度为 df 的 t 分布的分位数函数。
三、输出
1.简单输出
命令行的计算结果直接显示在命令的后面。在用 source() 运行程序文件时,需要用 print() 函数显示一个表达式的结果,如:
print(sin(pi/2))
## [1] 1
用 cat() 函数显示多项内容,包括数值和文本,文本包在两个单撇号或两个双 撇号中,如:
cat("sin(pi/2)=", sin(pi/2), "\n")
## sin(pi/2)= 1
cat() 函数最后一项一般是"\n", 表示换行。忽略此项将不换行。
2.用 sink() 函数作运行记录
R 使用经常是在命令行逐行输入命令(程序),结果紧接着显示在命令后面。如何保存这些命令和显示结果?
在 R 命令行中运行过的命令会被保存在运行的工作文件夹中的一个名为.Rhistory 的文件中。用 sink() 函数打开一个文本文件开始记录文本型输出结果。结束记录时用空的 sink() 即可关闭文件不再记录。如:
sink("tmpres01.txt", split=TRUE)
print(sin(pi/6))
print(cos(pi/6))
cat("t(10) 的双侧 0.05 分位数(临界值)=", qt(1 - 0.05/2, 10), "\n")
sink()
sink() 用作输出记录主要是在测试运行中使用,正常的输出应该使用 cat() 函数、write.table()、write.csv() 等函数。
练习
1. 用 cat() 函数显示
log10(2)=*** log10(5)=***
其中 *** 应该代以实际函数值。
2. 用 sink() 函数开始把运行过程记录到文件 “log001.txt” 中,在命令行
试验几个命令,然后关闭运行记录,查看生成的 “log001.txt” 的内容。
四、向量计算与变量赋值
R 语言以向量为最小单位。用 <- 赋值。如
x1 <- 1:10
x1
## [1] 1 2 3 4 5 6 7 8 9 10
一般的向量可以用 c() 生成,如
marks <- c(3, 5, 10, 5, 6)
在程序语言中,变量用来保存输入的值或计算的结果。变量可以存放各种不同
类型的值,如单个数值、多个数值(称为向量)、单个字符串、多个字符串(称
为字符型向量),等等。单个数值称为标量。
用程序设计语言的术语描述,R 语言是动态类型的,其变量的类型不需要预先声明,运行过程中允许变量类型改变,实际上变量赋值是一种 “绑定”(binding),将一个变量的名称(变量名)与实际的一个存储位置联系在一起。在命令行定义的变量称为全局变量。
用 print() 函数显示向量或在命令行中显示向量时,每行显示的行首会有方括号和数字序号,代表该行显示的第一个向量元素的下标。如
12345678901:12345678920
返回:
向量可以和一个标量作四则运算,结果是每个元素都和这个标量作四则运算, 如:
x1 <- 1:10
x1 + 200
## [1] 201 202 203 204 205 206 207 208 209 210
2*x1
## [1] 2 4 6 8 10 12 14 16 18 20
2520/x1
## [1] 2520 1260 840 630 504 420 360 315 280 252
两个等长的向量可以进行四则运算,相当于对应元素进行四则运算,如
x1 <- 1:10
x2 <- x1 * 3
x2
## [1] 3 6 9 12 15 18 21 24 27 30
x2 - x1
## [1] 2 4 6 8 10 12 14 16 18 20
R 的许多函数都可以用向量作为自变量,结果是自变量的每个元素各自的函数值。如
sqrt(x1)
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751
## [8] 2.828427 3.000000 3.162278
练习
1. 某人存入 10000 元 1 年期定期存款,年利率 3%, 约定到期自动转存(包 括利息)。列出 1、2、……、10 年后的本息金额。
2. 显示 2 的 1,2,……, 20 次方。
3. 定义 x1 为 1 到 10 的向量,定义 x2 为 x1 的 3 倍,然后退出 R,再次 启动 R,查看 x1 和 x2 的值。