尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空

2024-05-28

我使用纯素社区生态包在 R 中执行了“基于距离的冗余分析”(dbRDA)。我想在 dbRDA 结果的排序图中显示(鱼类)营养群体对样本之间差异(营养级鱼类组合的丰度数据)的相对贡献。 IE。将箭头和营养级组名称叠加到排序图上,其中箭头线的长度表示对差异的相对贡献。这应该可以通过vegan::scores()功能,或与存储dbrda.model$CCA$v据我了解,对象。

然而,当使用时,物种分数为空(NA)dbrda()。我了解 dbrda 函数需要在函数内定义群落矩阵才能提供物种分数。我已经这样定义了它,但仍然无法产生物种分数。让我困惑的是,当我使用capscale()在纯素食包中,使用相同的物种群落和环境变量数据,并在各自的功能内制定相同的数据,产生物种分数。是dbrda纯素食能够产生物种分数吗?这些分数与由capscale(当使用相同的数据和公式时)?我提供了我的数据示例以及所使用的公式。 (我对实际绘制一旦获得的物种分数相当有信心 - 因此将代码限制为生成物种分数。)

#Community data matrix (comm.dat): site names = row names, trophic level = column names
>head(comm.dat[1:5,1:4])

            algae/invertebrates corallivore  generalist carnivore herbivore
h_m_r_3m_18                   1           0                    3         0              
h_m_r_3m_22                   6           4                    8        26                     
h_m_r_3s_19                   0           0                    4         0                      
h_m_r_3s_21                   3           0                    7         0                      
l_pm_r_2d_7                   1           0                    5         0   

> str(comm.dat)

num [1:47, 1:8] 1 6 0 3 1 8 11 2 6 9 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:47] "h_m_r_3m_18" "h_m_r_3m_22" "h_m_r_3s_19" "h_m_r_3s_21" ...
..$ : chr [1:8] "algae/invertebrates" "corallivore" "generalist carnivore" "herbivore" ...

# environmental data (env.dat): Already standardised env data.
>head(env.dat[1:5,1:3])

      depth   water.level  time.in
-0.06017376   1.3044232   -1.7184415
-0.67902862   1.3044232   -1.7907181
-0.99619174   1.3044232   -1.7569890
-1.06581291   1.3044232   -1.7762628
 2.39203863  -0.9214933    0.1703884

# Dissimilarity distance: Modified Gower (AltGower) with logbase 10 transformation of the community data matrix

> dis.comm.mGow <- vegan::vegdist(x = decostand(comm.dat, "log", logbase = 10), method = "altGower")

# Distance based RDA model: Trophic level data logbase transformed modified Gower distance, constrained against the interaction of dept and water level (tide), and the interaction of depth and time of day sampled`

> m.dbrda <- dbrda(formula = dis.comm.mGow ~ depth*water.level + depth*time.in, data = env.dat, scaling = 2, add = "lingoes", comm = decostand(comm.dat, "log", logbase = 10), dfun = "altGower")

# Check species scores: PROBLEM: No species level scores available

> m.dbrda$CCA$v

      dbRDA1 dbRDA2 dbRDA3 dbRDA4 dbRDA5
[1,]     NA     NA     NA     NA     NA

# OR pull species scores using scores(): Also does not show species scores...

>scrs <- scores(m.dbrda,display="species"); scrs

       dbRDA1 dbRDA2
spe1     NA     NA
attr(,"const")
[1] 6.829551

# when replacing dbrda with capscale, species scores are produced, e.g.


> m.cap <- capscale(formula = dis.comm.mGow ~ depth*water.level + depth*time.in, data = env.dat, scaling = 2, add = "lingoes", comm = decostand(comm.dat, "log", logbase = 10), dfun = "altGower")

> m.cap$CCA$v[1:5,1:3]

                         CAP1        CAP2        CAP3
algae/invertebrates    0.2044097 -0.04598088 -0.37200097
corallivore            0.3832594  0.06416886 -0.27963122
generalist carnivore   0.1357668 -0.08566365 -0.06789812
herbivore              0.5745226 -0.45647341  0.73085661
invertebrate carnivore 0.1987651  0.68036211 -0.19174283

The dbrda()函数确实无法获得物种分数。但是,如果我们有以下函数vegan,您可以添加这些分数:

#' Add Species Scores to Ordination Results
#'
#' @param object Ordination object
#' @param comm Community data
#'
#' @return Function returns the ordination object amended with species
#'     scores.
#'
#' @rdname specscores
#' @export
`specscores` <-
    function(object, comm)
{
    UseMethod("specscores")
}
#' importFrom vegan decostand
#'
#' @rdname specscores
#' @export
`specscores.dbrda` <-
    function(object, comm)
{
    comm <- scale(comm, center = TRUE, scale = FALSE)
    if (!is.null(object$pCCA) && object$pCCA$rank > 0) {
        comm <- qr.resid(object$pCCA$QR, comm)
    }
    if (!is.null(object$CCA) && object$CCA$rank > 0) {
        v <- crossprod(comm, object$CCA$u)
        v <- decostand(v, "normalize", MARGIN = 2)
        object$CCA$v <- v
        comm <- qr.resid(object$CCA$QR, comm)
    }
    if (!is.null(object$CA) && object$CA$rank > 0) {
        v <- crossprod(comm, object$CA$u)
        v <- decostand(v, "normalize", MARGIN = 2)
        object$CA$v <- v
    }
    object
}

我不知道我们是否会拥有此功能(使用其他方法),但如果您在会话中获取它,则可以使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空 的相关文章

  • Rscript 正在绘制 PDF

    我有一个简单的R http en wikipedia org wiki R 28programming language 29脚本 当它通过 Rscript exe 运行时 默认情况下它会绘制为 PDF 文件 我希望脚本打开一个绘图窗口 我
  • 为什么 ggplot2 图例不结合手动填充和缩放值?

    预期行为 如果我用 ggplot2 创建一个绘图并使用单独的形状和填充比例来描绘数据 我希望图例会在 白色 填充点 看起来是空心的 和 黑色 填充点 看起来不空洞的 在下面的示例代码中 Windows 的图例项应为白色空心点 Linux 的
  • R、GeoJSON 和 Leaflet

    我最近从 R Bloggers com 的帖子中了解了 leafletjs com 我想要实现的一个此类教程是使用传单创建交互式分区统计图 http leafletjs com examples choropleth html http l
  • 数据集子集的回归

    我想做以下事情并需要一些帮助 分别计算 身高 与 年龄 的斜率和截距 lm Height Age 一 每个人 二 性别 并创建一个包含结果 斜率和截距 的表 我可以使用 申请 吗 在下一步中 我想做一个统计测试 以确定性别之间的斜率和截距是
  • R 中具有 NA 值的聚合栅格

    我在 R 中有一个分辨率为 1 公里的栅格 其 NA 值分布广泛 但位置不规则 即 包含数据的单元格不连续 并且 NA 值分散 我正在尝试使用用户定义的平均圆角函数 包括在下面 以 5 公里分辨率 因子 5 聚合此栅格 使用 raster
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • 使用 roxygen2 记录数据集

    我正在尝试使用 roxygen2 记录 R 包中的一些数据集 仅考虑其中之一 I have mypkg data CpG human GRCh37 RDa 其中包含一个名为的对象CpG human GRCh37 和一个名为 mypkg R
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • R Plotly 禁用图例单击和图例双击

    我想使用 R Plotly 从服务器端禁用绘图图例选择 我们看here https community plot ly t disable legend click functionality hiding traces 1345 2可以使
  • ts(x) 中的错误:“ts”对象必须有一个或多个观察结果

    当我使用进行预测时forecast库 我注意到以下代码没有按预期运行 library forecast library dplyr df1 lt data frame gp gl 20 5 dt seq 1 100 get lt funct
  • R 包“raster”在搜索“terra”最新版本时无法上传

    我正在 Windows 10 中使用 RStudio 2021 09 2 中的 R 4 1 2 工作 我正在处理空间数据 包括矢量和栅格 但三天前命令库 栅格 开始向我发出此警告 错误 loadNamespace i c lib loc l
  • 如何连接 R 列表中的多个 .wav 文件?

    我有一个 wav 文件列表my list library seewave library tuneR data tico audio lt tico freq lt 22050 breaks lt c 0 0 2 0 4 0 6 0 8 i
  • 如何在 R 中使用 msgbox [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在中显示消息框R 我正在寻找类似的东西msgbox在 VBA 中 因此我可以向用户发出有关问题的警报 此外 我想允许一些用户交互 例如
  • 根据第二个数据帧中的匹配创建新列

    如果有两个数据框 top3df http dpaste com 1709875 and qw qw lt structure list id structure 1 25 Label c w01 w02 w03 w04 w05 w06 w0
  • ggplot2:图例中的斜体

    我正在尝试编辑图例中的标签 以便第一个标签 WT 为纯文本 而后续 7 个标签为斜体 我一直在使用element text face c plain rep italic 7 但这导致没有任何标签被转换为斜体 我有点困惑为什么它不起作用 因
  • 在R中提取其他两个字符串之间的字符串

    我试图找到一种简单的方法来提取出现在两个已知子字符串之间的未知子字符串 可以是任何内容 例如 我有一个字符串 a lt anything goes here STR1 GET ME STR2 anything goes here 我需要提取
  • 通过排列进行多组测试

    我有一个 df 其中包含与两个实验相关的两组值 value 1 和 value 2 一个实验包含两组 0 和 1 另一个实验包含三组 0 1 2 test group Value 1 Value 2 AA 0 15 1 11 2 AA 0
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • 动态显示仪表板页面

    我有一个实用的闪亮应用程序 它使用shinydashboard包裹 新功能需要特定于用户的行为 例如 针对不同的用户名使用不同的数据集 因此我打算 显示登录表单 验证凭据并设置反应值LoggedIn to true如果成功的话 显示实际情况

随机推荐

  • 解释型语言的优点和缺点是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我现在正在学习Perl 解释型语言的优点和缺点是什么 公然抄袭维基百科 http en wikipedia org wiki Inte
  • 在 ColdFusion 中调用 String 上的底层 java 方法是否安全?

    Adobe ColdFusion 基于 Java 构建 CFML CFSCRIPT 中几乎所有简单变量都是java lang String直到操作需要它是某种类型 我一直想用startsWith in String而不是体积更大的 CFML
  • getElementById 无法在 的 Google Chrome 扩展中工作

    在我的 Google Chrome 扩展内容脚本中 我有以下内容 jQuery document ready function var player document getElementById player console log pl
  • Docker Desktop 未安装,提示 docker-ce-cli 无法安装

    在一次在线培训课程中 讲师提到他有 安装了 Docker Desktop 的 Ubuntu 虚拟机 因此 我尝试在 Windows 10 物理主机上安装相同的程序指示 https docs docker com desktop linux
  • 从 SortedList 或 SortedDictionary 获取第 i 个值

    我有一个排序的对象集合 它可以是 SortedList 或 SortedDictionary 我将主要使用它来阅读 因此增加性能并不那么重要 我怎样才能得到第i个值 所以例如当我的集合中有数字 1 2 3 4 5 并且我想要中位数 本例中为
  • 快速以编程方式打开 viewController

    我想通过代码在按钮上打开新的 UIViewController 我已经在故事板中制作了控制器 只想链接它 而且我不想使用 XIB 接口或 nibName 要打开新视图控制器 您需要在按钮单击事件中写入以下行 self performSegu
  • 如何修改新 PostgreSQL JSON 数据类型中的字段?

    使用 postgresql 9 3 我可以SELECTJSON 数据类型的特定字段 但如何使用来修改它们UPDATE 我在 postgresql 文档或网上的任何地方都找不到任何这样的示例 我已经尝试过显而易见的方法 postgres cr
  • 应用程序关闭时下载报刊亭应用程序

    我正在实现一个报摊杂志应用程序 它通过 Urban Airship 推送通知接收新期刊 只要应用程序位于前台或后台 这就可以正常工作 但据我所知 当应用程序完全关闭时也应该触发下载 但发送推送 content available 1如果我的
  • Graph API / FQL 不返回页面的所有事件

    脸书页面 http facebook com getwellgabby events http facebook com getwellgabby events 目前有 8 个活动 我能看到他们 非管理员可以看到它们并可以加入它们 但是 当
  • 如何使用 docker 和 monorepo 组织共享库

    我拥有的 我有 2 个 python 应用程序共享一些代码 足以让我尝试将共享部分隔离到模块 包 库中 我故意使术语含糊不清 因为我不确定解决方案是什么 我的所有代码都在单一存储库中 因为我希望克服管理比我们团队成员更多的存储库的一些烦恼
  • 如何让Emacs显示与实际存储的不同的字符?

    我想使用Elisp为Emacs实现动态文本替换 仅替换显示 不替换实际存储的文件 例如 在 LaTeX 文档中 我想输入 alpha 然后让 Emacs 将其显示为 因此更容易阅读 但在结果中 tex文件 我还想要 alpha 代替 被拯救
  • 使用 XAML 文件作为矢量图像源

    我希望能够使用矢量图形 最好在 XAML 中定义 作为图像控件的源 就像我当前可以使用 PNG 等光栅图像一样 这样我就可以轻松地混合和匹配位图和矢量图像 如下所示
  • Android Studio 模拟器无法加载 Windows 10

    我在 Windows 10 上全新安装了 android studio 其中包含 android api 22 的所有软件包 当我运行模拟器时 我收到以下消息 C Users admin AppData Local Android sdk
  • itertools.accumulate() 与 functools.reduce()

    在Python 3 3中 itertools accumulate http docs python org 3 3 library itertools html itertools accumulate 通常会重复对提供的可迭代应用加法运
  • SQL 性能,使用 OPTION (FAST n)

    谁能告诉我在 SQL 查询中使用 OPTION FAST n 有什么缺点 比如我这么快就抓取了10万条记录 但这对SQL Server的其他进程有影响吗 我正在接近我的问题 我必须每周运行一次数据处理 因此 第一个结果会在 5 7 秒后出现
  • 创建一个简单的调度程序

    我将如何创建一个简单的调度程序 将每个项目延迟一秒 我想将它用于 Observable 是的 我知道这可以通过多种其他方式完成 我只是想使用自定义调度程序来完成它 这里有一些相关教程 http codebetter com matthewp
  • XDocument 似乎不存在于 System.Xml 命名空间中

    我遇到了我认为可能是一个非常简单的问题 在开发我的第一个 WP7 应用程序时 我已经进入了访问我的站点 api 并解析 XML 的阶段 但是我在尝试使用 XDocument 时遇到了困难 我四处搜索并找到了这个示例代码 将 XML 文件从网
  • 将类型安全配置conf文件传递给DataProcSparkOperator

    我正在使用 Google dataproc 提交 Spark 作业 并使用 google Cloud Composer 来安排它们 不幸的是 我面临着困难 我依靠 conf文件 类型安全配置文件 将参数传递给我的 Spark 作业 我正在将
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空

    我使用纯素社区生态包在 R 中执行了 基于距离的冗余分析 dbRDA 我想在 dbRDA 结果的排序图中显示 鱼类 营养群体对样本之间差异 营养级鱼类组合的丰度数据 的相对贡献 IE 将箭头和营养级组名称叠加到排序图上 其中箭头线的长度表示