每个物种使用多个条目的系统发育模型

2023-12-12

我对系统发育回归模型比较陌生。过去,当我的树中每个物种只有 1 个条目时,我使用 PGLS。现在我有一个包含 9 个物种的数千条记录的数据集,我想运行一个系统发育模型。我阅读了最常见的软件包(例如 caper)的教程,但我不确定如何构建模型。

当我尝试为 caper 创建对象时,即使用:

obj <- comparative.data(phy = Tree, data = Data, names.col = species, vcv = TRUE, na.omit = FALSE, warn.dropped = TRUE)

我收到消息:

错误于row.names<-.data.frame(*tmp*,值=值): 不允许重复的“row.names” 另外:警告消息: 设置“row.names”时的非唯一值:“Species1”、“Species2”、“Species3”、“Species4”、“Species5”、“Species6”、“Species7”、“Species8”、“Species9”

我知道我可以通过应用 MCMCglmm 模型来解决这个问题,但我不熟悉贝叶斯模型。

在此先感谢您的帮助。


这确实不适用于简单的 PGLScaper因为它不能将个体视为随机效应。我建议你使用MCMCglmm这并不复杂,并且可以让你将个体作为随机效应。您可以从包的作者那里找到优秀的文档here or here或更多处理包的某些特定方面(即树的不确定性)的替代文档here.

非常简短地让您开始:

## Your comparative data
comp_data <- comparative.data(phy = my_tree, data =my_data,
      names.col = species, vcv = TRUE)

请注意,您可以拥有一个如下所示的样本列:

   taxa        var1 var2 specimen
1     A  0.08730689    a    spec1
2     B  0.47092692    a    spec1
3     C -0.26302706    b    spec1
4     D  0.95807782    b    spec1
5     E  2.71590217    b    spec1
6     A -0.40752058    a    spec2
7     B -1.37192856    a    spec2
8     C  0.30634567    b    spec2
9     D -0.49828379    b    spec2
10    E  1.42722363    b    spec2

然后您可以设置公式(类似于简单的lm公式):

## Your formula
my_formula <- variable1 ~ variable2

以及您的 MCMC 设置:

## Setting the prior list (see the MCMCglmm course notes for details)
prior <- list(R = list(V=1, nu=0.002),
              G = list(G1 = list(V=1, nu=0.002)))

## Setting the MCMC parameters
## Number of interactions
nitt <- 12000

## Length of burnin
burnin <- 2000

## Amount of thinning
thin <- 5

然后你应该能够运行默认的MCMCglmm:

## Extracting the comparative data
mcmc_data <- comp_data$data

## As MCMCglmm requires a column named animal for it to identify it as a phylo
## model we include an extra column with the species names in it.
mcmc_data <- cbind(animal = rownames(mcmc_data), mcmc_data)
mcmc_tree <- comp_data$phy

## The MCMCglmmm
mod_mcmc <- MCMCglmm(fixed = my_formula, 
                     random = ~ animal + specimen, 
                     family = "gaussian",
                     pedigree = mcmc_tree, 
                     data = mcmc_data,
                     nitt = nitt,
                     burnin = burnin,
                     thin = thin,
                     prior = prior)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每个物种使用多个条目的系统发育模型 的相关文章

随机推荐

  • SLComposeViewController 共享教程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 使用 iOS 6 的新功能需要遵循哪些步骤SLComposeViewController发布到 Facebook Twitter 或新浪微博 有关此框架的详细信息 请参阅 Apple
  • Gtk.TreeView 中的 Gtk.Entry (CellRenderer)

    我想打包一个Gtk Entry with Gtk EntryCompletion连接 到一个单元格中Gtk TreeView 有谁知道如何做到这一点 我只需要在表格视图中完成文本输入的输入 我是否需要子类化Gtk CellRenderer
  • 如何以编程方式关闭 iPhone 应用程序中的所有其他应用程序?

    是否可以在我自己的应用程序中以编程方式关闭 iPhone 上除我自己的应用程序之外的所有正在运行的应用程序 如果是这样 怎么办 不可以 所有应用程序都在沙箱中运行 因此您无法在它们之间进行通信 即使你在技术上可以 这也会被认为是不好的做法
  • 提交表格给自己

    目前 我有一个带有输入 文本 和一个提交表单的按钮的表单 该表格被发布到 submit php 我希望将表格发布到与表格相同的页面 我怎样才能做到这一点
  • 使用 boost::spirit::x3 从 std::string 解析为 boost::string_view

    In my 我之前的问题有人建议我的表现boost spirit x3可以通过解析为来改进解析器boost string view使用raw指示 但是 我很难编译它 这是我发现的 Before x3 一个人必须专攻assign to att
  • JAXB:第三方或外部超类上的 @XmlTransient

    我需要有关 JAXB 2 1 的以下问题的一些帮助 示例 我创建了一个扩展抽象类 Person 的 SpecialPerson 类 现在我想使用 JAXB 将对象结构转换为 XML 模式 因此 我不希望 Person XML 类型出现在我的
  • onload() 和 $.ready 之间的区别?

    你能列出之间的区别吗onload and document ready function 使用 jQuery 中的函数 the load窗口和 或主体元素上的事件 又名 onload 将触发一次all页面内容已加载 这包括所有图像 脚本等
  • 解析 Excel 文件并读取单元格

    我有一个excel文件 我已经上传了截图 我需要编写一个 NET应用程序 控制台应用程序 来解析excel文件 您可以看到一个标题为 函数名称 的单元格 我的 NET 应用程序应该找到该特定单元格并读取该列中的内容 例如模板 Instanc
  • 如何在javascript中获取服务器时区

    我想在 Javascript 中设置不同的时区 当前它显示本地计算机或客户端 PC 日期 时区的日期和时区 Regards Javascript 是一种客户端语言 不会以这种方式与服务器交互 您需要从服务器端平台获取该数据 下面是一些 PH
  • 在空 JTextField 中按下退格键时禁用蜂鸣声

    初学者在这里 有谁知道一种快速简便的方法 可以让 JTextField 在按下退格键且字段为空时不发出蜂鸣声 我在网上看到了一些关于更改 DefaultEditorKit 的内容 但我无法理解 任何帮助将不胜感激 这段代码对我有用 Acti
  • AdSense IAB TCF 错误 3.3:如何删除旧字符串并重新获得同意

    我的网站已经上线几年了 使用 AdSense 及其集成的 GDPR 内容功能 即在 IAB TCF 术语中 Google 充当 CMP 在过去的几周里 我收到了以下消息 我们检测到您的一个或多个网站或应用程序上的 IAB TC 字符串存在问
  • 为什么java无法从死锁中恢复?

    我正在读 Java Concurrency in Practice 一书 里面是关于死锁的内容 JVM无法从死锁中恢复 只有摆脱死锁的方法 lock就是重启服务器 还提到了JVM使用graph 搜索其中线程充当两个线程 A 之间的图节点和边
  • Oracle SQL - 识别顺序值范围

    这是我的桌子 ID Name Department 1 Michael Marketing 2 Alex Marketing 3 Tom Marketing 4 John Sales 5 Brad Marketing 6 Leo Marke
  • 调用窗口加载事件 - javascript

    我将尽力在这里不使用 jsfiddle 清楚地解释我的问题是什么 因为 window on load 不会在他们的 IDE 中触发 我有一个 html 包装器 它动态加载 ajax html 到div content div class h
  • 在 ASP.NET MVC 3 中添加您自己的 HtmlHelper

    我是 MVC 新手 我正在尝试创建自己的扩展方法 以便我可以添加到我的 razor 视图中可用的 html 帮助器中 Html DropDownListFor 允许您为模型上的任何属性创建下拉列表 我想创建一个名为的助手Html State
  • 替换 jQuery 中选定的 HTML 文本

    我有这个代码用于替换选定的文本 它在选定的文本之前和之后放置 1 和 2 var content text html if window getSelection not IE case var selObj window getSelec
  • 如何获取Meteor包中文件的路径?

    我知道怎么做从 Meteor 包中获取当前目录 但是如何获取项目中特定文件的路径呢 node s dirname and filename在流星中不起作用 这很复杂 meteor run将您的项目文件复制到内部的目录树中
  • --oaa 2 和 --loss_function=logistic 在 Vowpal Wabbit 中的效果

    我应该在 VW 中使用哪些参数来执行二元分类任务 例如 让我们使用rcv1 small dat I thought最好使用逻辑损失函数 或铰链 但使用没有意义 oaa 2 然而 经验结果 所有 4 个实验中报告的渐进验证 0 1 损失 表明
  • 如何防止为未实现方法的对象生成模板

    因此 出于示例的目的 假设我有 3 个简单的struct是 其中第二个不包含bar method struct one void foo const int void bar struct two void foo const int st
  • 每个物种使用多个条目的系统发育模型

    我对系统发育回归模型比较陌生 过去 当我的树中每个物种只有 1 个条目时 我使用 PGLS 现在我有一个包含 9 个物种的数千条记录的数据集 我想运行一个系统发育模型 我阅读了最常见的软件包 例如 caper 的教程 但我不确定如何构建模型