1. mean(x, trim=percent, na.rm=), median(x, na.rm=), mode
mode 一组数据出现最多的值,可以是字符
2. 回归:建立模型
(1)线性回归
y = ax + b #x预测变量,y响应变量
逻辑:收集数据,lim()创建关系模型,找到系数,获取残差/平均误差(找summary),predict()运用,绘图plot(y,x,abline(lm(x~y)), col, main...)
tip: ~因变量与自变量
predict(function, data.frame(number))
#Error in int_abline
格式书写错误
解决:原本plot(y,x,abline(lm(x~y)),type="b") 变成 按照上述格式。
(2)多重回归
y = a + b1x1 + b2x2 +...bnxn
lm(y ~ x1+x2+x3...,data)
coef(function)[position] #得系数,系数位置可通过print(function)查阅
(3)逻辑回归
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...)
概念
函数:glm()
(4)泊松回归
假设响应变量泊松分布;对数-线性模型
log(y) = a + b1x1 + b2x2 + bnxn.....
函数:glm(formula=, data, family=poisson) #formula为变量间关系y~x1+x2
(5)非线性最小二乘回归
寻找拟合的参数系数
模型:a = b1*x^2+b2
函数nls(formula, data, start) #formula假设的关系,start 数字列表或者数字向量
3. 标准分布与二项分布:概率问题
(1)标准分布
dnorm(x, mean, sd) #x seq(num1,num2,by = num3)num1 to num2 increase by num3 y轴为概率
pnorm(x, mean, sd) #累积分布函数,y轴累积概率
qnorm(p, mean, sd) #累积分布函数,x轴累计概率
rnorm(n, mean, sd) #输入样本数,随机产生分布,hist直方图显示
(2)二项分布
理解:硬币为例
dbinom(x,size,prob) #每个次数的概率
pbinom(x,size,prob) #单个值的概率
qbinorm(p, size, prob) #概率的单个累计值
rbinorm(n, size, prob) #n给定样本数量给定概率的随机值
4. 分析
(1)协方差分析ANCOVA
有两个因素左右因变量,不感兴趣或者不重要的因素称为协变量,为分类型变量,另外一种为连续型变量
关键在于方差分析,线性回归仅作为不可剔除的关系
逻辑:研究协变量的值对回归的影响
函数:
aov(y~x*z,data) #x为预测变量,y为响应变量,研究xz相互作用;响应变量在前
anova(function) #function should be lm() OR glm()比较两个模型看变量间的相互作用是否重要
如图:
(2)时间序列分析
函数:timeseries.object.name <- ts(data, start, end, frequency) #frequency=12月份,6每小时10分钟,4季度,24*6一天的每10分钟
修改:多时间序列
逻辑:两组合成matrix,注意nrow而非ncol,ts()转化为时间序列而非“先各自ts然后再组合”
#start的日期格式
help里说的很清楚:single number或者a vector of two integers
(3)生存分析
安装“survival”包
加载
函数:
Surv(time, event) #event "frame$status=="
survival(formula) #analysis of Surv and what
REF:https://baike.baidu.com/item/%E5%8D%8F%E6%96%B9%E5%B7%AE%E5%88%86%E6%9E%90/5366621?fr=aladdin
(4)卡方检验
VS ANOVA分析:确定两分类变量是否存在显著相关性
函数:chiseq() #里面为含变量的表格形式数据 用table()函数
4. 决策树和随机森林
(1)决策树
预测模型
例子:预测肿瘤癌变,预测电子邮件是否垃圾邮件,预测风险因素。
下载安装包"party"
加载
head() #查看变量名称
函数:ctree(formula,data) #data数据集
(2)随机森林算法
创建大量决策树,输出每个观察的最多结果。多数投票
包:randomForest
加载party包
函数:randomForest(formula, data) #创建和编辑,语法和决策树一样