R-高级数据管理-ch5
1、本章概况:学习多种数学、统计和字符处理函数;
学习循环和条件执行语句来完成用户自编函数;
了解数据的整合、重塑方法。
2、数值和字符处理函数
处理函数分为:数值(数学、统计、概率)函数、字符处理函数
(1)数学函数
(2)统计函数
很多统计函数都拥有可以影响输出结果的可选参数
数据标准化函数:scale()
(3)概率函数
概率函数通常用来生成特征已知的模拟数据,以及在用户编写的统计函数中计算概率值。
概率函数的形式为:d/p/q/r+分布名称英文缩写()
d/p/q/r指:
分布名称英文缩写指:
例:正态分布的四种函数: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)字符处理函数
sapply(y,"[",2):y表示将进行提取元素的对象,"["是一个可以提取某个对象的一部分的函数,2表示提取对象y中的第二个元素。
(5)其他实用函数
转义字符:\n表示新行,\t为制表符,\'为单引号,\b为退格。
(6)将函数应用于矩阵和数据框
mean()应用到矩阵或数据框上,是求的所有元素的均值;
例如:apply(mydata,1,mean)
3、控制流
(1)重复与循环
for:i是一个循环变量,1:10是向量表达式,在i访问1:10所有可以取到的值时,运行print("hello")。
(2)条件执行
4、用户自编函数
在函数声明中为参数指定的值将作为其默认值;
注:可以定制R环境,以使R启动时自动读取用户编写的函数,还可以将编写好的函数分发给让人使用。
5、整合和重构
(1)转置
使用函数t()即可对一个矩阵或数据框进行转置
(2)整合数据
我的理解:aggregate()函数实际是按by 中的变量,对x中的对象进行FUN函数的操作,相当于MySQL中的group by。
(3)reshape包
reshape包是一套重构和整合数据集的绝妙的万能工具,需自行安装。
首先将数据“融合”(melt),以使每一行都是一个唯一的标识符—变量组合。然后将数据“重铸”(cast)为你想要的任何形状。
注意:"id","time"是必须指定要唯一确定每个测量所需的变量(ID和Time)
P104