r语言是什么中怎么用contrasts把某一类别设为0

应用表达倍数筛选得到表达倍数超过2倍的基因数量有862个,应用p值筛选后得到562个差异表达基因:


%这种方法在R软件包limma里面实现得最好。limma最初主要用于双色(双通道)芯片的处理,现在不仅支持单色芯片处理,新版还添加了对RNAseq数据的支持,很值得学习使用。安装方法同前面其他Bioconductor软件包的安装。载入limm软件包后可以用limmaUsersGuide()函数获取pdf格式的帮助文档。limma需要先产生一个design矩阵,用于描述RNA样品:

先统计一下数量。可以看到:对于T7d-C0h比较组(coef=3),表达变化超过2倍(lfc参数)的基因数为842个,而变化超过2倍、p<0.05的基因总数为740个:

%为什么以上几种方法仅用表达倍数(2倍)筛选得到的数字不大一样?limma和直接计算的结果都是842个,而simpleaffy和SAM为862/861个。这是对eset信号值取对数和求平均值的先后导致的,limma先取对数再求平均值,而simpleaffy和SAM是先求平均值再取对数。

最后我们保存部分数据备下次使用:

建立Weight关于Diet的线性模型,从模型的summary的返回结果来看:

那么,Diet2,Diet3,Diet4的赋值以及其通过建模后得到的系数是怎么来的呢?R语言通过Contrast Matrix来实现。

0 0 0
0 0
0 0
0 0

那么这种对dummy variable赋值的编码方式(即对照矩阵)究竟是什么意思?

Treatment又称为Dummy Coding,首先会选择一个Level作为参考组(通常是第一个Level作为reference group),然后用剩余的Level的应变量的均值分别与参考组的应变量的均值来进行比较。

那么这些系数的含义是什么?

针对于分类变量(Factor),反应变量(Response Variable,即应变量y)反映了在每个Level下的均值(mean)。

继续上例,我们计算在每个Level下weight的均值:


也就是说系数a, b, c就是weight在各个水平下相对于截距的偏移,而这里截距就是参考组Diet1的weight的均值。

这个系数又称为效用(Utility),表面给定某Level,会对反应变量的提升(或减少)的幅度。比如,不考虑其他因素,当Diet=2,会对Weight有19.971的提升。

当包含的因子是解释变量时,通常会从预测转向 级别差异的分析,即称作方差分析(ANOVA)

分隔符号,左边为响应变量,右边为解释变量
表示包含除因变量外的所有变量
eg:若一个数据框包括变量y,A、B和C,代码y~.可展开为y~A+B+C
含单个协变量的单因素ANCOVA
含两个协变量的双因素ANCOVA
y~B+A(B是区组因子)
含单个组内因子(W)和单个组间因子(B)

非平衡设计时或存在协变量时,效应项的顺序对结果影响较大

越基础的效应应越需要放在表达式前面,首先是协变量、然后是主效应、接着是双因素的交互项,再接着是三因素的交互项

若研究不是正交的,一定要谨慎设置疚的顺序

#单因素方差分析(感兴趣地是比较分类因子定义的两个或多个组别中的因变量均值)
 
 
多重比较用于解决某一组别与其他的不同


TukeyHSD()函数提供了对各组均值差异的成对检验,但与HH包存在兼容性问题((某些版本中);

(3)评估检验的假设条件
当因变量服从正态颁,各组方差相等时,可用Q-Q图来检验正态性假设


qqPlot()要求用lm()拟合,若数据落 在95%的置信区间范围内,说明满足正态性假设。


R提供的可以做方差齐性检验的函数
















因使用了协变量,短途运输 获取调整的组均值即去除协变量疚后的组均值,可使用effects 包中的effects()函数来计算调整的均值


用户定义的对照的多重比较

(1)评估检验的假设条件
ANCOVA与ANOVA相同,都城要正态性和同方差性假设


另ANOCVA还假定回归低低斜率相同,eg当ANCOVA模型饮食怀孕时间*剂量的交互项时,可对回归斜率的同质性进行检验。







 


所谓重复测量方差分析,即受试者被测量不止一次。
宽格式(wide format):列是变量,行是观测值,且一行一个受试对象
处理重复测量设计时,需要有长格式(long format)数据才能拟合模型;在长格式中,因变量每次测量都要放到它独有的行中。reshape包可为人正直将数据转换为相应的格式。

(1)单因素多元方差分析

 
 
 
单因素多元方差分析有两个前提假设,一个是多元正态性,一个是方差-协方差同质性。前者可用Q-Q图来检验该假设条件;方差-协方差矩阵同持性即指各组的协方差矩阵相同,可用Box's M检验来估计该假设。
多元正态分布:若有一个p*1的多元正态随机向量x,均值为u,存在协方差矩阵,那么x与u的马氏距离的平方服从自由度为p的卡方分布。
Q-Q图展示卡方颁的分位数,横纵坐标分别是样本量与马氏距离平方值。如果点全部落在斜率为1、截距为0的直线上,则表明数据服从多元

可用mvoutlier包中的ap.plot()函数来检验多元离群点

(3)稳健多元方差分析

若多元正态性或者方差-协方差均值假设都不满足,又担心多元离群点,可考虑用稳健或非参版本的MANOVA检验。

vegan包中的adonis()函数提供了非参数MANOVA的等同形式

用aov()函数拟合模型

用回归lm()来解决ANOVA问题


因线性模型要求预测变量是数值型,当lm()函数碰到因子时,它会用一系列因子水平相对应的数值型对照变量为代替因子。若因子有k个水平,它将会创建k-1个对照变量。

第二个与第一个水平对照
第三个水平对照前两个均值
第四个水平对照前三个的均值
基于正交多项式的对照,用于趋势分析和等距水平的有序因子 
对照变量之和限制为0,也称作偏差找对,对各水平的均值与所有水平的均值进行比较
各水平对照基线水平,也称虚拟编码
类似于contr.treatment,只是基线水平变成了最后一个水平

可通过contrasts选项,修改lm()默认的对照方法

fit.lm还可通过设定options()函数修改R会话中的默认对照方法

我要回帖

更多关于 r语言 的文章

 

随机推荐