根据组计算存在/缺席情况

2023-12-07

我有一个数据框,其中包含两个位置的许多物种的丰度数据:

        sp1 sp2 sp3 sp4
SiteA   0   12  0   0
SiteA   0   3   0   0
SiteA   1   0   0   0
SiteB   0   0   6   0
SiteB   2   1   1   0
SiteB   0   1   0   8

我想计算两件事:

  1. 每个地点发现了多少种物种。在此虚拟示例中,SiteA 有两个物种,SiteB 有四个物种。

  2. 每个位点每行中类群的平均数量。在本例中,SiteA 为 1,SiteB 为 2。


我喜欢用dplyrtidyverse此类总结问题的软件包。更多这里:https://dplyr.tidyverse.org/

library(tidyverse)
# First I'd like to reshape into long (aka "tidy") format
df_tidy <- df %>%
  mutate(obs_num = row_number()) %>%  # To keep track of orig row
  gather(sp, count, sp1:sp4)

# First question
df_tidy %>%
  # This gives total counts for all recorded combos of site and species
  count(site, sp, wt = count) %>%
  filter(n > 0) %>%
  count(site)        # Count how many rows (ie species) for each site
## A tibble: 2 x 2
#  site     nn
#  <chr> <int>
#1 SiteA     2
#2 SiteB     4


# Second question
df_tidy %>%
  # Count how many observations had counts > 0 for each site
  count(site, obs_num, wt = count > 0) %>%
  group_by(site) %>%
  summarize(avg_taxa = mean(n))

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

根据组计算存在/缺席情况 的相关文章

  • 为什么 sapply 的缩放速度比样本大小的 for 循环慢?

    假设我想采用向量 X 2 1 N 并将 e 计算为每个元 素的指数 是的 我认识到最好的方法就是通过向量化 exp X 但这样做的目的是将 for 循环与 sapply 进行比较 我通过逐步尝试三种方法 一种使用 for 循环 两种以不同方
  • 更新 R6 对象实例中的方法定义

    如何更新 R6 类实例的方法定义 正如我所期望的 S3 使用当前的方法定义 对于 R5 参考类 我可以使用 myInstance myInstance copy 在 R6 中 我尝试了 myInstance myInstance clone
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • R在Windows平台Rstudio上打印data.frames中的UTF-8代码

    当数据框中存在UTF 8字符时 将无法正常显示 例如 以下内容是正确的 gt U6731 1 朱 但是当我将其放入数据框中并打印出来时 它是 gt data frame x U6731 x 1
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • 要在子集中显示的非数字条目的维恩图

    我有以下数据框 SET1 SET2 SET3 par1 par2 par1 par2 par3 par2 par3 par4 par5 我想制作一个维恩图 其中所有这些 parX 元素都显示在各自的子集中 即作为标签 而不仅仅是重叠元素的数
  • 平滑连续 2D 点

    UPDATE 感谢 user20650和 李哲源Zheyuan Li 这是我想出的解决方案 Example data set df 3600 observations points Create a vector of the cumula
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 使用数据帧的 R 中的 EWMA 波动性

    我正在尝试从一系列股票每日收益中获取 EWMA 波动性 这些收益来自一个名为base retorno diario Data IBOV ABEV3 AEDU3 ALLL3 BBAS3 BBDC3 BBDC4 1 2000 01 04 0 0
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • 无法将“gather”输出的列名称更改为默认名称以外的任何名称

    我正在尝试使用gather in the tidyr包 但我无法更改默认名称的输出列名称 例如 df data frame time 1 100 a 1 100 b 101 200 df long df gt gather foo bar
  • 在 RGL 中将立方体绘制到 3D 散点图中

    我正在尝试向 3D 散点图添加较小的立方体 网格 具有指定边长 我希望立方体位于原点 我该怎么做呢 我已经玩过cube3d 但我似乎无法将立方体正确定位 也无法使其成为网格 因此我可以看到它包含的数据点 这是我所拥有的 library rg
  • 使用data.table进行聚合

    经过 SO 用户的多次建议后 我终于尝试将我的代码转换为使用data table library data table DT lt data table plate paste0 plate rep 1 2 each 5 id rep c
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt

随机推荐

  • 在R中是否可以得到F#的函数应用“|>”运算符? [复制]

    这个问题在这里已经有答案了 可能的重复 R 流水线函数 我发现 R 语法与 F 相比非常笨拙 在 R 中 而不是 plot exp cumsum returns 我很想做 returns gt cumsum gt exp gt plot 有
  • Bootstrap 4 - 以自定义方式显示卡片

    我正在尝试创建一个基于 Bootstrap 4 的正确语义 HTML CSS 它将以某种方式呈现卡片元素 而无需添加太多自定义批量 到目前为止我所拥有的是这样的 section class section d flex align item
  • 可扩展的 WinForms 文本框

    我在 Windows 窗体应用程序中创建了一个文本框 该文本框以用于在单行中输入文本的高度开始 但我希望如果用户输入包含在控件内的文本 文本框会自动增加其高度 目前 对于此文本框 我将属性 multiline 和 wordwrap 设置为
  • 为什么编译器需要一个特征的实现来调用默认的自由函数?

    当调用一个不需要的特征的默认实现时self 为什么需要注释一个实现类型呢 A 最小的 可重现的例子在下面 操场 mod builder pub trait Builder Sized fn new gt Simple Simple pub
  • 谷歌 protobuf 和 A​​ndroid NDK

    如何构建Google protobuf c 版本 https github com google protobuf releases latest 与 Android 目标 我在没有 ndk build 的情况下编译了 protobuf 这
  • 在jsp中显示数据

    我是jsp新手 面临一个问题 我需要创建 jsp 页面 显示来自 servlet 的数据 Servlet 代码 protected void doGet HttpServletRequest request HttpServletRespo
  • 尝试到达应用程序引擎端点时出现 SSLHandshakeException

    我正在尝试从 Android 客户端连接到我的端点方法之一到本地运行的应用程序引擎后端 问题是我收到 SSLHandshakeException 我的 API 不受 OAuth 保护 我试图达到的方法如下所示 ApiMethod name
  • 从被调用方法捕获异常

    关于程序流程 这个问题已经困扰我一段时间了 我想知道是否可以从方法中捕获错误 以阻止它执行通常遵循它的方法 如下例所示 我无法开始工作 public class MyClass public static void main String
  • 忽略 py2exe 中的library.zip

    我需要一个可执行文件 exe 它从文件中获取一些参数 用户可以根据他 她的需要配置这些参数 由于我在 python 中创建了脚本 因此我使用 py2exe 来创建该可执行文件 虽然我可以放置一个名为的可配置文件设置 dat作为数据文件并用它
  • 如何将 jackson objectmapper dateformat 配置添加到 spring mvc 配置中?

    我有一个关于 Jackson 2 1 的问题 我的 pojo 有一些日期属性 我想将其转换为字符串 我将其解决在 spring servlet xml 中 但它没有用 我不喜欢使用 JsonSerialize using JsonDateS
  • Android:从特定电话号码接收短信

    我的应用程序是否可以从特定电话号码接收短信 而不让它触发系统通知 但让所有其他消息传递到默认短信应用程序进行正常处理 如果是这样 系统如何知道哪个进程首先进入队列来选择接收哪些消息 我没有尝试这个 但理论上它应该有效 在 Android 中
  • 如何从 Java 中的 JSON 字符串中删除元素?

    我有一个 json 作为字符串 我需要使用 java 代码从中删除一个元素 感谢你的帮助 Example 尝试了数组和其他东西 但没有运气 输入 需要删除图像 widget debug on window title Sample Konf
  • 复制 java.util.Random 类型的实例变量以创建相同状态的对象

    我正在实施一个模拟退火 SA 算法 我需要复制状态 例如记住迄今为止的最佳解决方案 我实现了一个复制方法 因为不鼓励使用java的clone SA 是一种启发式算法 因此下一步要采取的步骤是随机确定的 这是通过使用Random对象 我也想复
  • 如何在 Windows 10 上使用 IPC::Run 捕获超时异常?

    我正在尝试捕获超时异常IPC Run在 Windows 10 上 使用 Strawberry Perl 版本 5 30 1 use strict use warnings use feature qw say use Data Dumper
  • 最小化工作簿/工作表但保持表单打开

    有没有办法最小化工作簿 工作表但能够保持表单打开 我已经尝试过代码 application visible false and userform1 show vbmodeless 但这会隐藏所有活动的工作簿 并且工具栏功能区也会消失 有没有
  • 获取属于个人 Triadic Census 类别的 Triad 节点列表

    通过执行 Networkx triadic census 算法 我可以获得每种类型的三元普查中节点数量的字典 triad census social nx triadic census social graph to directed 现在
  • 虚函数 C#

    我明白什么是虚函数 但我不明白的是他们内部是如何工作的 class Animal virtual string Eat return Eat undefined class Human Animal override string Eat
  • PDFTK 并删除 XFA 格式

    从 PDF 表单中删除 XFA 格式是否会出现任何问题 我正在使用 PDFTK 来填写表单 发现如果表单是 XFA 则 PDFTK 不起作用 除非我先执行 drop xfa 命令来创建新的模板表单 我注意到的一件事是 如果我不执行 drop
  • 是否可以从 .NET Framework 项目引用 .NET 5 项目?

    我有一些相当大的 NET Framework 应用程序想要升级到 NET 5 但一次性升级它们会很麻烦 我正在考虑逐步做到这一点 从应用程序中最 核心 的项目开始 然后从那里开始工作 但这似乎不起作用 当我尝试从 NET Framework
  • 根据组计算存在/缺席情况

    我有一个数据框 其中包含两个位置的许多物种的丰度数据 sp1 sp2 sp3 sp4 SiteA 0 12 0 0 SiteA 0 3 0 0 SiteA 1 0 0 0 SiteB 0 0 6 0 SiteB 2 1 1 0 SiteB