首页
学习
活动
专区
圈层
工具
发布

关于MR-Egger方法的注意事项(1)

知识回顾 在往期的内容中,我和大家简单介绍过MR研究中IVW和MR-Egger这两种方法的区别,具体参见孟德尔随机化之IVW和MR-Egger方法简介。...“TwoSampleMR”包里的MR-Egger计算代码如下(该代码可以在R语言中加载好TwoSampleMR包后直接输入mr_egger_regression并回车即可获取): function (b_exp...(se_exp) == length(se_out)) stopifnot(length(b_exp) == length(se_out)) #上面三行stopifnot是排错步骤,针对的是数据不完整的情况...,它借用了R里的sign()基础函数来重新定义了sign0()这个函数,其目的就是把beta.exposure为0的符号变为1(不过米老鼠觉得没有必要)。...接下来,我们看看这里最关键的部分“to_flip”,这一块就是借用之前新定义的sign0()函数来把beta.exposure为负值的调整为正值,相应的beta.outcome也会取一个相反数,这样就保证了每个

1.4K30

GWAS数据没有提供eaf,如何是好……

在这里停滞了好久,准备放弃这部分数据了,但是又觉得很可惜,数次徘徊…… 于是开始搜搜搜,然后B站还真的给我推了,柳暗花明又一村啊—— 1方法1:snp_add_eaf [孟德尔随机化之代码生成eaf_哔哩哔哩...("一共有",length(cor1),"个SNP是major allele,EAF被计算为1-MAF,在成功匹配数目中占比",length(cor1)/(r-length(harna)-length(...C,参照列是G,但是1000G提供的是A-T,这种情况下,EAF会被清空(NA),当成匹配失败") return(dat) } if(type=="outcome" &&...("一共有",length(cor1),"个SNP是major allele,EAF被计算为1-MAF,在成功匹配数目中占比",length(cor1)/(r-length(harna)-length(...fileFrequency.frq文件来源: 3小结 需要注意的是,以上两种方法获取的eaf都是基于千人基因组数据得到的,在运行之前得确认一下自己的数据是否是基于这个参考基因组得到的,否则eaf可能不准

14K24
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    科研绘图系列:R语言绘制微生物物种系统发育树(phylogenetic tree)

    生态适应:研究物种在不同生态环境中的适应性进化,了解生态系统的演变过程。 加载R包安装ggtree的时候注意R包的依赖问题,耐心等待安装。...geom_fruit:在树的每个节点上添加条形图,数据来自 bacDat,条形图的宽度为 0.01,高度为 MAGs,填充颜色根据 p_c 变量。...添加热图 p3gheatmap:在 p2 的基础上添加一个热图,数据来自 bacDatset,热图宽度为 0.2,偏移量为 0.1,不显示列名,颜色默认。...添加第二个热图 p4gheatmap:在 p3 的基础上添加另一个热图,数据来自 bactcov,热图宽度为 0.05,偏移量为 0.6,不显示列名,颜色默认。...水平;最里层:不同分类物种的系统发育树结构。

    1.2K10

    129-R编程22-找对象之S3对象与泛型函数

    "generic" ftype(unclass) #> [1] "primitive" 在[[104-R茶话会19-几种查看函数源代码的方法]] 我们就提过几种查看泛型函数的代码的操作。...最关键的是第一个建造器,constructor。 比如我们可以手写一个创建Date 类的函数,其包括了三个原则: Be called new_myclass()....大部分的泛型函数的method dispatch 实现过程都非常简单,也就是在每次调用泛型函数的时候,都调用UseMethod 方法,比如泛型函数mean : mean #> function (x,...需要注意的是,如果这里的泛型函数会使用其他参数,UseMthod 方法所在的函数需要创建为不定长函数,也就是参数末尾加上...: bark <- function(x, ...) 7-继承 S3...7.2-S3系统的子类 我们可以通过不定长参数,为对象的创建引入多个类: new_secret <- function(x, ..., class = character()) { stopifnot

    1.1K20

    安装读取的Excel的包

    这个是Rstdio的安装界面 ? 这个是下载的目录 ? 选择了一个,安装(其实还没有被安装) ? 安装过程 总览 readxl软件包使从Excel到R的数据获取变得容易。...安装 从CRAN安装最新发行版本的最简单方法是安装整个tidyverse。...3.2 1.3 0.2 NA> #>#…还有147行 如果您不熟悉用于数据导入的tidyverse约定,则可能需要查阅R for Data Science中的数据导入一章。...用户可以发挥更多的控制range,skip和n_max。 默认情况下,列名和类型由工作表中的数据确定。...这是一种基于libxlsxwriter将数据帧导出到xlsx的可移植且轻量级的方法。它比openxlsx简约得多,但是在简单的示例上,它的速度似乎快两倍,并且可以写入较小的文件。

    2.5K41

    沈向洋、曹颖与马毅提出理解 AI 的两个基本原理:简约性与自一致性

    三位科学家认为,之所以出现上述问题,是因为当前的深度网络中,用于分类的判别模型和用于采样或重放的生成模型的训练在大部分情况下是分开的。此类模型通常是开环系统,需要通过监督或自监督进行端到端的训练。...从展开优化方案的角度来看,这为一类深度神经网络提供了有力的解释。甚至在现代深度网络兴起之前,用于寻求稀疏性的迭代优化方案,例如 ISTA 或 FISTA 就已被解释为可学习的深度网络。...这里的难点在于如何使目标在计算上易于处理,从而在物理上可以实现。 速率降低 ΔR 给出了退化分布之间的明确首要距离度量。但它仅适用于子空间或高斯的混合,而不适用于一般分布!...因此,最优的“简约”和“自洽”表示元组 (z, f, g) 可以解释为 f(θ) 和 g(η) 之间的零和博弈的平衡点,而不是基于组合速率降低的效用: 以上讨论是两个原理在有监督情况下的表现。...计算机视觉中的识别技术可以帮助计算机图形学在形状和外观空间中构建紧凑模型,并为创建逼真的 3D 内容提供新的方法。

    80520

    沈向洋、曹颖与马毅提出理解 AI 的两个基本原理:简约性与自一致性

    三位科学家认为,之所以出现上述问题,是因为当前的深度网络中,用于分类的判别模型和用于采样或重放的生成模型的训练在大部分情况下是分开的。此类模型通常是开环系统,需要通过监督或自监督进行端到端的训练。...从展开优化方案的角度来看,这为一类深度神经网络提供了有力的解释。甚至在现代深度网络兴起之前,用于寻求稀疏性的迭代优化方案,例如 ISTA 或 FISTA 就已被解释为可学习的深度网络。...这里的难点在于如何使目标在计算上易于处理,从而在物理上可以实现。 速率降低 ΔR 给出了退化分布之间的明确首要距离度量。但它仅适用于子空间或高斯的混合,而不适用于一般分布!...因此,最优的“简约”和“自洽”表示元组 (z, f, g) 可以解释为 f(θ) 和 g(η) 之间的零和博弈的平衡点,而不是基于组合速率降低的效用: 以上讨论是两个原理在有监督情况下的表现。...计算机视觉中的识别技术可以帮助计算机图形学在形状和外观空间中构建紧凑模型,并为创建逼真的 3D 内容提供新的方法。

    83810

    计算理论入门 1.1 命题逻辑

    由简单的命题和逻辑运算符组成的命题被称为复合命题。 可以在复合表达式中使用括号来表示运算符的求值顺序。 在没有括号的情况下,求值顺序由优先规则确定。...这通过以下规则来解决:当没有括号的情况下,出现几个相等优先级的运算符时,它们从左到右求值。 因此,表达式p∧q∧r等于(p∧q)∧r而不是p∧(q∧r)。...例如,表达式p→q∧r↔¬p⊕s求值为(p→(q∧r))↔((¬p)⊕s)。 为了高效处理逻辑运算符,你需要更多了解它们的含义,以及它们与自然语言表达式的关系。 命题p→q称为蕴含或条件。...因为k是假的,所以m→k为真的唯一方法是,m也是假的。 (检查表中的→的定义!)所以,通过断言m→k,我确实认为 Mets 不是一个伟大的团队。 或者考虑这个陈述,“如果聚会在星期二,那么我会参加”。...我认为p→q是真的,其中p代表“聚会在星期二”,q表示“我将参加聚会”。假设p是真实的,那就是聚会实际上在星期二。检查→的定义,我们看到,在p为真且p→q为真的唯一情况下,q也为真。

    81620

    R语言函数的含义与用法,实现过程解读

    2.3 生成序列 最简单的方法是用冒号‘:’,冒号具有最高运算优先级。例如1:30就是向量c(1,2,. . .,29,30)。30:1构造一个递减序列。...最简单的形式是> s5 <- rep(x, times=5) 2.4 逻辑向量 TRUE, FALSE, 和NA(not available), 前两个可以简写为T和F,但T/F并不是系统保留字,可以被用户覆盖...=,与或非分别为&, |, !。 在普通运算中,FALSE当做0而TRUE当做1。 2.5 缺失值 NA(not available): 一般来讲一个NA的任何操作都将返回NA。     ...模式的转换 在允许的情况下(大多数情况都是允许的),R可以完成各种模式的转换。...外部文件:创建数据帧最简单的方法应当是使用read.table()函数从外部文件中读取整个数据帧。

    6.8K30

    R语言函数的含义与用法,实现过程解读

    2.3 生成序列 最简单的方法是用冒号‘:’,冒号具有最高运算优先级。例如1:30就是向量c(1,2,. . .,29,30)。30:1构造一个递减序列。...最简单的形式是> s5 <- rep(x, times=5) 2.4 逻辑向量 TRUE, FALSE, 和NA(not available), 前两个可以简写为T和F,但T/F并不是系统保留字,可以被用户覆盖...=,与或非分别为&, |, !。 在普通运算中,FALSE当做0而TRUE当做1。 2.5 缺失值 NA(not available): 一般来讲一个NA的任何操作都将返回NA。     ...模式的转换 在允许的情况下(大多数情况都是允许的),R可以完成各种模式的转换。...外部文件:创建数据帧最简单的方法应当是使用read.table()函数从外部文件中读取整个数据帧。

    5.7K120

    MATLAB偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

    此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性 当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法,并且这些预测变量高度相关或甚至共线性...两种方法都将新的预测变量(称为成分)构建为原始预测变量的线性组合,但它们以不同的方式构造这些成分。PCR创建成分来解释预测变量中观察到的变异性,而根本不考虑因变量。...比较两种模型的预测能力的另一种方法是在两种情况下将因变量绘制成两个预测变量。 如果不能以交互方式旋转图形,有点难以看到,但上面的PLSR图显示了紧密分散在平面上的点。...拟合更多成分 随着在PCR中添加更多成分,它必然会更好地拟合原始数据y,这仅仅是因为在某些时候,大多数重要的预测信息X将存在于主要成分中。例如,使用10个成分时,两种方法的残差远小于两个成分的残差。...对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。

    49500

    R 数据整理(十一: 用purrr包实现更花样的匿名函数使用)

    需要注意的是, 如果map()等泛函中的无名函数需要访问其它变量的话, 需要理解其变量作用域或访问环境。另外, 无名函数中的其它变量在每次被map()应用到输入列表的元素时都会重新计算求值。...提取列表元素的简写 map 除了调用无名函数时可以简写,在提取列表元素时也有简写的方法。 较为复杂的数据, 有时表现为列表的列表, 每个列表元素都是列表或者向量。...,可以省去循环的麻烦,而且基本R 也没有提供类似walk的功能。...使用示性函数的泛函 some some(.x, .p),对数据列表或向量.x的每一个元素用.p判断, 只要至少有一个为真,结果就为真;every(.x, .p)与some类似,但需要所有元素的结果都为真结果才为真....p判断为真的元素的子集;discard(.x, .p)返回不满足条件的元素子集。

    3.1K30

    数据科学 IPython 笔记本 7.7 处理缺失数据

    通常,它们围绕两种策略中的一种:使用在全局表示缺失值的掩码,或选择表示缺失条目的标记值。 在掩码方法中,掩码可以是完全独立的布尔数组,或者它可以在数据表示中占用一个比特,在本地表示值的空状态。...Pandas 可以遵循 R 的指导,为每个单独的数据类型指定位组合来表示缺失值,但这种方法结果相当笨拙。...我们将要看到,这种选择有一些副作用,但实际上在大多数相关情况下,最终都是很好的妥协。...虽然与 R 等领域特定语言中,更为统一的 NA 值方法相比,这种黑魔法可能会有些笨拙,但 Pandas 标记值方法在实践中运作良好,根据我的经验,很少会产生问题。...(axis='columns') 2 0 2 1 5 2 6 但这也会丢掉一些好的数据; 你可能更愿意删除全部为 NA 值或大多数为 NA 值的行或列。

    5.1K20

    文件操作

    背景 一般情况下我们需要分析的数据都是存储在文件中,那么利用 R 分析数据的第一步就是将输入读入 R 语言。如果分析的数据是记录在纸质载体上,还需要将数据手动录入,然后保存为一个文件。...6、na.strings:后面接字符串,指定文件中空值的表示方法。...= "NA",stringsAsFactors = F) 无论使用哪个函数读取文件,R 中读入的数据都存储为数据框这种数据类型。...还好 R 可以很方便地处理 excel 的电子表格。 通常处理 Excel 表格有两种方法。...方法二:readr,xlsx,openxlsx 等包 R 中有大量可以读写 Excel 电子表格的包,使用方法与 read.table()函数类似,只需注意Excel 的电子表格分为工作簿与工作表

    3.6K10

    MySQL 数值类型溢出处理

    来,考考大家一个问题,在 MySQL 中当某一列设置为 int(0) 时会发生什么 ?...,并且插入失败 如果没有启用任何限制模式,那么 MySQL 会将值裁剪到列数据类型范围的上下限值并存储 当超出范围的值分配给整数列时,MySQL 会存储表示列数据类型范围的相应端点的值 当为浮点或定点列分配的值超出指定...而如果启用了严格模式,这些语句会直接失败,并且未插入或更改部分或全部值,具体取决于表是否为事务表和其他因素。...+ 1; ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807 + 1)' 为了在这种情况下使操作成功,需要将值转换为...,如果其中一个类型为 UNSIGNED ,默认情况下会生成无符号结果。

    2.5K20

    MATLAB偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

    当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法,并且这些预测变量高度相关或甚至共线性。两种方法都将新的预测变量(称为成分)构建为原始预测变量的线性组合,但它们以不同的方式构造这些成分。...比较两种模型的预测能力的另一种方法是在两种情况下将因变量绘制成两个预测变量。 如果不能以交互方式旋转图形,有点难以看到,但上面的PLSR图显示了紧密分散在平面上的点。...拟合更多成分 随着在PCR中添加更多成分,它必然会更好地拟合原始数据y,这仅仅是因为在某些时候,大多数重要的预测信息X将存在于主要成分中。例如,使用10个成分时,两种方法的残差远小于两个成分的残差。...过于拟合当前数据会导致模型不能很好地推广到其他数据,并对预期误差给出过度乐观的估计。 交叉验证是一种更加统计上合理的方法,用于选择PLSR或PCR中的成分数量。...对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。

    56700

    偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

    当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法,并且这些预测变量高度相关或甚至共线性。两种方法都将新的预测变量(称为成分)构建为原始预测变量的线性组合,但它们以不同的方式构造这些成分。...比较两种模型的预测能力的另一种方法是在两种情况下将因变量绘制成两个预测变量。如果不能以交互方式旋转图形,有点难以看到,但上面的PLSR图显示了紧密分散在平面上的点。...拟合更多成分随着在PCR中添加更多成分,它必然会更好地拟合原始数据y,这仅仅是因为在某些时候,大多数重要的预测信息X将存在于主要成分中。例如,使用10个成分时,两种方法的残差远小于两个成分的残差。...过于拟合当前数据会导致模型不能很好地推广到其他数据,并对预期误差给出过度乐观的估计。交叉验证是一种更加统计上合理的方法,用于选择PLSR或PCR中的成分数量。...对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。

    1.6K30

    MATLAB偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

    此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法,并且这些预测变量高度相关或甚至共线性...两种方法都将新的预测变量(称为成分)构建为原始预测变量的线性组合,但它们以不同的方式构造这些成分。PCR创建成分来解释预测变量中观察到的变异性,而根本不考虑因变量。...比较两种模型的预测能力的另一种方法是在两种情况下将因变量绘制成两个预测变量。如果不能以交互方式旋转图形,有点难以看到,但上面的PLSR图显示了紧密分散在平面上的点。...拟合更多成分随着在PCR中添加更多成分,它必然会更好地拟合原始数据y,这仅仅是因为在某些时候,大多数重要的预测信息X将存在于主要成分中。例如,使用10个成分时,两种方法的残差远小于两个成分的残差。...对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。

    1.4K00

    免疫浸润结果分子分型(一致性聚类ConsensusClusterPlus)

    分子分型也是生信灌水的常见知识点之一。可以用于分子分型的方法非常多,比如:一致性聚类、非负矩阵分解、PCA等等,当然这些方法不需要我们手动去计算,都是有成熟的R包帮我们做。...PDF文件中,里面有多张图形: 确定最佳聚类个数 标准非常多,比如根据聚类热图看色块干净,没有掺杂;CDF图上升平缓,突然陡峭;delta area拐点(类似于聚类分析的碎石图) 也有大佬根据PAC...clin_sub[is.na(clin_sub)] NA' # 亚型重新编码为c1 c2 # 年龄变为 >65 NA">23725 TRUE # 病理分期变为1,2,3,4期...estimate评估免疫纯度 我们还可以使用其他方法评价一下不同亚型的免疫浸润情况,每种方法都试一下,增加可信度和工作量.........clin_sub, im_ssgsea, file = "step3_output.rdata") 有了这个分型后,你还可以根据这个分型做各种分析,比如生存分析、差异分析、富集分析等等,反正就是查看两种亚型之间的各种差别以及和各种临床信息的联系

    2.1K20

    如何对代码进行调优?

    以后再需要该函数时,可以直接查表而不需要重新计算 1.3 高速缓存 最经常访问的数据,其访问开销应该使最小的 1.4 懒惰求值 除非需要,否则不对任何一项求值,这一策略可以避免对不必须的项求值 二,时间换空间法则...else语句中,一个分支表示v为真的情况,另一个分支表示v为假的情况 五,过程法则 5.1 打破函数层次 对于非递归地调用自身的函数,通常可以通过将其改写为内联版本并固定传入的变量来缩短其运行时间 5.2...0或1更有效 5.5 并行性 在底层硬件的条件下,构建的程序应该尽可能多的挖掘并行性 六,表达式法则 6.1 编译时初始化 在程序执行之前,应该对其尽可能多的变量初始化 6.2 利用等价的代数表达式 如果表达式的求值开销太大...,就将其替换为开销较小的等价代数表达式 6.3 消除公共子表达式 如果两次对同一个表达式求值时,其所有变量都没有任何改动,我们可以用下面的方法避免第二次求值:存储第一次的计算结果并用其取代第二次求值 6.4...成对计算 如果经常需要对两个类似的表达式一起求值,那么就应该建立一个新的过程,将他们成对求值 6.5 利用计算机字的并行性 用底层计算机体系结构的全部数据路径宽度来对高开销的表达式求值 ----

    1.7K10
    领券