mode(x)
查看数据结构类型
na.omit(df)
将df中具有NA的一行删除
sum(x, na.rm=TRUE)
求和时忽略x中NA的存在
as.xxxx(list) -> as.Date(df$date, "%Y--%m--%d")
转换列表的数据格式,类似的类型还有:
numeric、character、vector、matrix、data.frame、factor、logical
is.xxxx(list) -> is.Date(df$date)
转换列表的数据格式,类似的类型还有:
numeric、character、vector、matrix、data.frame、factor、logical、NA
Sys.Date()
得到当前时间 "xxxx-xx-xx"
date()
得到当前详细时间 "Sun Aug x xx:xx:xx xxxx"
format(Sys.Date(), format="%B %d %Y)
按格式输出时间"x月 02 xxxx"
order排序
df <- df[ order(df$grade, -df$age) , ] -->按照grade由小到大排序df整个元组,一致的再按照age由大到小排序(在SQLDF包中也可以排序)
sample随机抽样
sample(df, size, replace=FALSE) ->对df的列抽取size个列,且不放回抽样
sample(list,size replace=FALSE) -> 对列表进行size次不放回随机抽样
df[sample(0:size(df) ,size,replace=FALSE) , ] -> 在df中随机抽样size次
celling(x)
向上取整
floor(x)
向下取整
round(x)
四舍五入
mean(list)
求该list的平均值
length(list)
求list大小
sd(x)
求标准差
var(x)
方差
scale(x)
min-max标准化
pretty(c(-3.3), 30)
在[-3,3]上等分取值
概率函数(摘自尚学堂)
set.seed(x),设置随机数种子
nchar(str)
字符长度
substr(str, begin_index, end_index)
截取[begin_index, end_index]的字串
grep(str, list)
在list中搜索str的位置
sub(strA, strB, str)
将str中的所有strA替换为strB
strsplit(str, strA)
以strA作为标志,分割字符串str -> strsplit(str,"") 每个字符均分为一个字符串
paste(strA, strB)
将strB追加在strA末尾
toupper(str)
tolower(str)
转换大小写
length(list)
得到list的长度
seq(a,b,s)
生成以a开始、步长为s、不大于b的序列
rep(list, n)
将list重复n遍
apply(数据, 维度, 函数)
将函数应用到数据(matrix、list、data.frame)的某维度(1行2列)上
for( i in 1:5) {xxxx}
for循环
while(谓词) {}
while循环
if(谓词) {xxx}
else {xxx}
ifelse(谓词, stateA, stateB)
即 谓词?stateA:stateB
switch( x, 谓词A=值, ...)
按x取值不同传出不同的值
t(x)
转置x
summary(x)
展示df的相关统计信息
df[ !complete.cases(df) , ]
将df中非齐全的数据显示出来
manyNAs(df, NA属性数占比)
将df中比较多的NA的行号以list形式返回出来
cor(df[, a:b] , use="complete.obs")
得到df各个列间的相关系数
symnum( cor(xxx))
将cor结果可视化
lm(col_a~col_b, data=df)
lm(col_a ~.,data=x) 表示cola_a和所有的进行线性关系探索
lm(col_a ~ col_b+col_c,data=x)代表探索col_a和col_b以及col_c两个的关系
注意:在生成了之后,可能会出现之前没有的变量名称,这些叫做辅助变量,前缀互斥
注意诊断信息:
调整后的R方:越接近1,预测就越科学准确。
获得这两个属性的现象系数,按自变量系数从低到高排列
摘自尚学堂:
knnImputation(df, k=int)
填补df中的缺失值,返回一个df
anova( resOf_lm )
对进行多元线性回归结果进行消元
注意结果:
Sum Sq:代表该变量对减少模型拟合误差的贡献度,越小越说明不应当加入到分析中
anova( resOf_lm1, resOf_lm2 )
比较两个模型
Sum Of Sq:代表比较误差是否增减,负则减小了误差
update( resOf_lm , .~. -a)
更新lm的结果,使其减去a属性
step( resOf_lm )
对lm结果进行一次性消元,得到最好的结果
fitted( resOf_lm )
得到回归模型的预测值,等同于 resOf_lm$fit,等同于predict( resOf_lm )
predict( resOf_lm, xOf_df, interval="confidence" )
使用模型对xOf_df中的自变量数据进行预测,例子如下:
Model=lm(y~x,data=…)
predict(Model,newdata=data.frame(x=2),interval="confidence")
corr.test( df )
对df的各个列进行线性相关性计算
*最后的多元线性回归,虽然只是线性,但是可以在df中添加各个列的各个次幂,达到多元多项式回归的效果