R语言入门--第十一节(置换检验与自助法求置信区间)

Python017

R语言入门--第十一节(置换检验与自助法求置信区间),第1张

原理参考 文章 ,主要思想我认为是求出所有分布的可能(中间的一般为零假设),出现这种分布的概率。

distribution= 参数可为exact(精确模式,即依据所有可能的排列组合,仅适用于两样本问题)、approxiamate(nresample=#)(蒙特卡洛抽样,#指需要重复的次数)、asymptotic(渐进分布抽样)

lmPerm包更擅长方差分析。示例实验设计仍为5组接受不同治疗方法的多组结果比较。

实验示例仍为关节炎的治疗(两种)与效果(无、部分、显著)间的关系

实验示例为研究文盲率与谋杀率是否相关

主要为 lmp() 、 aovp() 两个函数分别对应参数法的 lm() 线性回归、 aov() 方差分析。主要格式上的区别是添加了 perm= 参数。可以为Exact(精确模式)、Prob(不断从可能的序列中抽样,直至估计的标准差在估计的p值0.1之下)、SPR(使用贯序概率比检验来判断何时停止抽样)。值得注意的是当样本观测大于10,perm="Exact"自动默认转为"Prob",因此精确检验只适用于小样本问题。

(1)简单线性回归

实验示例仍为以身高预测体重的设计

(2)多项式回归

高精度拟合身高体重回归关系

(3)多元回归

探究谋杀率与多因素的回归关系

(1)单因素方差分析

(2)单因素协方差分析

实验示例仍为药物对刚出生小鼠体重影响,协变量为怀孕时间

(3)双因素方差分析(交互效应)

实验示例:两种药物分别在不同剂量下对小鼠牙齿长度的影响。

核心思想是有放回的抽样多次(1000次)

(1)写一个能返回带研究统计量的函数;

(2)确定重复数,使用 boot() 函数处理;(一般重复1000次即可;此外有人认为初始样本大小为20-30即可得到足够好的结果);

(3) boot.ci() 函数计算统计量置信区间。

实验示例:使用mtcar数据框,采用多元回归,根据车重和发动机排量来预测汽车的每加仑行驶的英里数。想获得95%的R平方值(预测变量对响应变量可解释的方差比)的置信区间

(1)首先写函数

(2)然后使用boot()函数

(3)最后boot.ci()函数求置信区间

实验示例:使用mtcar数据框,采用多元回归,根据车总和发动机排量来预测汽车的每加仑行驶的英里数。想获取一个统计量向量--三个回归系数(截距项、车总、发动机排量)95%的置信区间。

20200505·Kony·Win10

变量(various) :用于存储值保留的内存位置,变量被分配了R对象,并且R对象的数据类型成为变量的数据类型。

R对象类型(Types of R-objects):

转换数据类型

判断转换类型转换函数

is.numeric() as.numeric() #数字

is.character()as.character()#字符

is.vector() as.vector() #向量

is.matrix() as.matrix() #矩阵

is.data.frame() as.data.frame() #数据框

is.factor() as.factor() #因子

is.logical() as.logical()#逻辑数据

以上每一行的两个函数都是定义相同类型的函数

?不是很懂raw

向量 的下标是从1开始的

取某个元素:x[2](如果X包括名称,注意:x[2]与x[[2]]的区别;

取某中几个:x[c(1,2,0)]

取某个/几个元素,利用-:x[-n]#取除去第n个元素之外的其他元素

sort()输出排序后的结果;order();输出排序后的各个向量位置,如下所示:

x[n] 第n个元素

x[-n] 除了第n个元素的x

x[1:n] 前n个元素

x[-(1:n)] 第n+1至最后的元素

x[c(1,4,2) ] 指定元素

x["name"] 名为"name"的元素

x[x >3] 所有大于3的元素

x[x >3 &x <5] 区间(3,5)的元素

x[x %in% c ("a","and","the")] 给定组中的元素

data >20 是一个表示式,它的返回值是一个有TRUE和FALSE 构成的逻辑向量,最终只选取了TRUE对应的元素,所以data 中大于20的元素被选了出来。

%in%这个操作符只返回逻辑向量TRUE 或者FALSE,而且返回值应该与%in%这个操作符前面的向量程度相等。也就是说它相当于遍历了C里面的一个个元素,判断它们是否在B中出现过,然后返回是或者否即可。

而match(C,B)的结果就很不一样了,它的返回结果同样与前面的向量等长,但是它并非返回逻辑向量,而是遍历了C里面的一个个元素,判断它们是否在B中出现过,如果出现就返回在B中的索引号,如果没有出现,就返回NA。

笔记参考:R语言基础--数据类型之向量 https://www.jianshu.com/p/7b47a6bbb7a9

本节来介绍 dplyr 中的行选择函数slice,此函数可轻松的按照索引对行进行处理

取前3行

取第三行至最后一行

取第5行至最后一行

取最后一行

取前5行

取最后5行

将第一行至第四行从数据中剔除

取出Sepal.Width列最小的一行

若有重复值加 with_ties=FALSE 只取一行

slice_sample 随机无重复抽样

slice_sample 随机有重复抽样

每组只取2行

pro=0.5 表示按分组只取每组内一半的数据

保留全部数据