1、本章概况:学习多种数学、统计和字符处理函数;

              学习循环和条件执行语句来完成用户自编函数;

              了解数据的整合、重塑方法。

2、数值和字符处理函数

处理函数分为:数值(数学、统计、概率)函数、字符处理函数

(1)数学函数

r语言dmvnorm函数_字符处理

r语言dmvnorm函数_字符处理_02

(2)统计函数

很多统计函数都拥有可以影响输出结果的可选参数

r语言dmvnorm函数_随机数_03

数据标准化函数:scale()

r语言dmvnorm函数_随机数_04

(3)概率函数

概率函数通常用来生成特征已知的模拟数据,以及在用户编写的统计函数中计算概率值。
概率函数的形式为:d/p/q/r+分布名称英文缩写()

d/p/q/r指:

r语言dmvnorm函数_数据_05

分布名称英文缩写指:

r语言dmvnorm函数_随机数_06

例:正态分布的四种函数:dnorm() bnorm() qnorm() rnorm()

 *生成随机数种子:

在每次生成伪随机数的时候,函数都会使用一个不同的种子,因此也会产生不同的结果。可以通过函数set.seed()显式指定这个种子,让结果可以重现(reproducible)。函数runif()用来生成0到1区间上服从均匀分布的伪随机数。

例:set.seed(1234)

      runif(5)

*生成多元正态数据

下载MASS包,使用mvrnorm()函数

其调用格式为:mvrnorm(n,mean,sigma)

其中n是你想要的样本大小,mean为均值向量,而sigma是方差协方差矩阵(或相关矩阵)。

限定2位小数,使用函数options(digits=2)

(4)字符处理函数

r语言dmvnorm函数_字符处理_07

r语言dmvnorm函数_r语言dmvnorm函数_08

sapply(y,"[",2):y表示将进行提取元素的对象,"["是一个可以提取某个对象的一部分的函数,2表示提取对象y中的第二个元素。

(5)其他实用函数

r语言dmvnorm函数_r语言dmvnorm函数_09

r语言dmvnorm函数_r语言dmvnorm函数_10

转义字符:\n表示新行,\t为制表符,\'为单引号,\b为退格。

(6)将函数应用于矩阵和数据框

   mean()应用到矩阵或数据框上,是求的所有元素的均值;

  

r语言dmvnorm函数_随机数_11

例如:apply(mydata,1,mean)

3、控制流

r语言dmvnorm函数_r语言dmvnorm函数_12

(1)重复与循环

r语言dmvnorm函数_r语言dmvnorm函数_13

for:i是一个循环变量,1:10是向量表达式,在i访问1:10所有可以取到的值时,运行print("hello")。

(2)条件执行

r语言dmvnorm函数_r语言dmvnorm函数_14

r语言dmvnorm函数_r语言dmvnorm函数_15

r语言dmvnorm函数_字符处理_16

4、用户自编函数

r语言dmvnorm函数_随机数_17

在函数声明中为参数指定的值将作为其默认值;

 

注:可以定制R环境,以使R启动时自动读取用户编写的函数,还可以将编写好的函数分发给让人使用。

5、整合和重构

  (1)转置

  使用函数t()即可对一个矩阵或数据框进行转置

  (2)整合数据

r语言dmvnorm函数_r语言dmvnorm函数_18

r语言dmvnorm函数_字符处理_19

我的理解:aggregate()函数实际是按by 中的变量,对x中的对象进行FUN函数的操作,相当于MySQL中的group by。

  (3)reshape包

reshape包是一套重构和整合数据集的绝妙的万能工具,需自行安装。

首先将数据“融合”(melt),以使每一行都是一个唯一的标识符—变量组合。然后将数据“重铸”(cast)为你想要的任何形状。

r语言dmvnorm函数_r语言dmvnorm函数_20

注意:"id","time"是必须指定要唯一确定每个测量所需的变量(ID和Time)

r语言dmvnorm函数_随机数_21

P104