1.mean计算均值,使用方法是mean(x, trim=0,na.rm=FALSE)
其中x是对象,如有异常值,需要设置参数trim来调整纳入计算的样本数据来实现剔除异常值的效果。
2.weighted.mean()计算数据的加权平均值
weighted.mean(x,w,…, narm=FALSE)
其中x是数值向量,w是数据的权,不同 x的维数相同,该函数可以对矩阵和数组计算加权平均值,但对数据框不适用
3.数据标准化:preProcess()函数:数据标准化包(caret包)
函数基本形式如下:
preProcess(x, method=c("center","scale")……))
其中 center 表示预测变量值减去均值; scale 表示预测变量值除以标准差,故默认标准化方法就是 (x mu) /std 。如果使用 range 方
法,则数据标准为 [ 的范围,即 (x -min)/(max -min)
默认情况下,函数 scale() 对矩阵或数据框的指定列进行均值为 0 、标准差为 1 的标准化
4.抽样方法
a. Sample函数
基本形式为sample(x,size,replace=FALSE,prob=NULL),x是数值型向量,size是抽样个数,replace表示是否有放回
b. creatDataPartition函数
在caret包中,可以实现对变量的类别进行快速等比例抽样
表达式:creatDataPartition(y, times=1,p=0.5,list=TRUE,……)
其中y是一个向量,times表示需要进行抽样的次数,p表示需要从数据中抽取的样本比例,list表示结果是否是list形式,默认为TRUE.
c.creatFolds函数
caret包中的createFolds函数是恶意直接按照某个变量等比例将数据随机分成k份,其基本形式为:
createFolds(y,k=10,list=TRUE,returnTrain=FALSE)
y是需要依据分类的变量,k指定k重交叉验证的样本,默认为10重,每重样本量为总量的1/k;list是否以列表或矩阵的形式存储随机抽取的索引号,默认为TRUE,returnTrain是否返回抽样的真实值,默认返回样本的索引值
5.日期值
as.Date(x, format="",…),其中x是要转换的对象,为字符型数据
Sys.Date()可以返回当天的日期;
date()返回当前的日期和时间(返回的日期是字符串)
format(x, format="output_format")来输出指定格式的日期值
函数difftime()来计算时间间隔,并以星期,天、时、分、秒来表示
as.character()可将日期转换为字符型
6.哑变量
caret包中有个dummyVars函数,可做变量虚拟化处理
dummyVars(formula, data, sep=".",levelsOnly=FALSE,fullRank=FALSE,……)