跳转至

基础函数和数理统计

函数

自定义函数

function() R语言中没有lambda ,可以用function定义匿名函数

sapply()可以处理数据框的每列数据

lapply()对列表(list)的每个元素应用指定的函数

运算相关

  • 运算

    • 算数运算 R语言中没有直接的"sum+=1"操作符,只能通过"sum=sum+1"的形式

      sum() 求和

      cummean() 计算累加平均数

      cumsum() 累加,并显示逐步累加的结果

      cumprod()累乘积,并显示逐步累积结果

      round()指定保留小数位,可以指定计算保留的小数维数,否则在options()中设置digist,进行全局变量设置

      ceiling(x)向上取整,要取整的数值或数值向量

    • 逻辑运算

绘图

内置函数

par()设置图形参数,针对内置绘图函数生效,ggplot2包中另有图形设置函数

hist() 创建直方图

barplot()用于创建柱状图,可以用于显示分类变量的频数或其他统计指标。

pie()绘制饼状图,可以参看知乎-饼图

density():用于计算并绘制核密度估计图,可用于查看数据的分布情况。

par()内置函数,设置图形

概率论与数理统计

描述统计

描述函数

  • 集中趋势指标

    • 位置度量

      mean() 求均值

      median()中位数,是否需要用到round()?视数据类型而定

      mode()众数,没有直接求众数的函数

    • 秩(大小)的度量

      min() 计算最小值

      max() 计算最大值

      range() 查找最大、最小值,并存入到一个新的向量中

      quantile() 计算分位数,如上下四分位数

  • 离散趋势指标

    • 离散程度度量

      var()方差

      sd() 均方差(或标准误差)standard deviation

      IQR()四分距离,上四分位数-下四分位数

      mad() 绝对中位差

    • 定位度量

      first() 查无此函数?

      nth() 查示无此函数?

      last() 返回最后一个元素

    • 频率 table()计算元素的频数,得到factor类型数据,水平level为不重复的元素名,顺序按默认排布,值为每个水平的频数

      prop.table() 对比上面的,直接计算元素的频率

概率分布

  • 均匀分布

    runif() random uniform 均匀分布

  • 随机分布Normal Distribution(random、probility、quantile、density)

    rnorm() 生成正态分布的随机数

    pnorm() 由x分位数,计算正态分布的累积分布函数(CDF),就是概率值

    qnorm()概率值,计算对应的正态分布的分位数(quantile),即x分位数

    dnorm() 由x值,计算正态分布的概率密度函数(PDF)

推论统计和假设检验

抽样

slice_sample() 从df中进行随机抽样

sample_n()从数据集中随机抽取观察值

sample_frac()随机抽取指定比例的观察值

sample()给定的对象中随机抽样

三大抽样分布:

  • t分布

    rt() 生成t分布的随机数

    pt() 计算t 分布的累积分布函数(CDF)值

    qt() 计算 t 分布的分位数(quantile)

    dt() 计算 t 分布的概率密度函数(PDF)值

  • 卡方分布

    rchisq() 生成服从卡方分布的随机变量

    pchisq() 卡方分布累积分布函数

    qchisq()卡方分布的分位数(Quantile)

    dchisq() 计算卡方分布的概率密度函数

  • F分布

    rf()没有这个函数

    pf()F分布的累积分布函数累积分布函数

    qf()F分布的反函数,即分位数

    df()F分布的概率密度函数(PDF)值

假设性检验

原假设和备有假设具有主观区别,就95%的置信度而言,要达到5%犯错误的概率是非常低的,换句话说拒绝原假设的条件更为苛刻、严谨。一般p-value<α,即接受备择假设(H1新假设)就十分具有说服力,所以老师才说备用假设多为突破常规。

对于老公司,左侧检验更符合需求,只有极端情况才会判定为质量问题;对于新公司,右端检验更为严谨,只有产品质量足够好,才会接受。

  • 评估样本是否符合正态性(样本数据大致呈正态分布):

    • 定性分析 hist,goem_histgram绘制直方图,看下分布形式

      qqnorm()绘制一个样本的正态概率图(QQ图)

      qqline()在QQ图上添加参考线,以方便检测

    • 定量分析:不同方法的检测结果可能相反,根据实际要求,选取哪种方法做正态性检验

      shapiro.test() Shapiro-Wilk Test,检验是否符合正态分布

      ks.test() Kolmogorov-SmirnovTest,检验是否符合其他分布(含正态)

      ad.test() nortest包,Anderson-Darling Test,检验是否符合正态分布

      方差分析中用于检验样本的正态性,Kolmogorov-Smirnov test?

  • 比例检验

    binom.test()二项分布检验,单个比例

    • [x] stats\:\:prop.test() 基于stats包,直接类比t.test()的作用,得到的结果更详尽,两个比例

    infer\:\:prop_test() 基于infer包,结果稍微简略些

  • t检验(Student's t-Test)

    t.test()

  • 卡方检验

    chisq.test() 卡方检验

  • F检验

anova()方差分析??