如何根据多个条件对行求和 - R? [复制]

2024-01-03

我有一个数据框,其中包含绘图 ID (plotID)、树种代码 (species) 和覆盖值 (cover)。您可以看到其中一张图中有多个树种记录。如果每个图中存在重复的“物种”行,如何对“覆盖”字段求和?

例如,以下是一些示例数据:

# Sample Data
plotID = c( "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200046012040",
       "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040", "SUF200046012040")
species = c("ABBA",  "BEPA",  "PIBA2", "PIMA",  "PIRE",  "PIBA2", "PIBA2", "PIMA",  "PIMA",  "PIRE",  "POTR5", "POTR5")
cover = c(26.893939,  5.681818,  9.469697, 16.287879,  1.893939, 16.287879,  4.166667, 10.984848, 16.666667, 11.363636, 18.181818,
          13.257576)
df_original = data.frame(plotID, species, cover)

这是预期的输出:

# Intended Output
plotID2 = c( "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200001035014", "SUF200046012040",
            "SUF200046012040", "SUF200046012040", "SUF200046012040")
species2 = c("ABBA",  "BEPA",  "PIBA2", "PIMA",  "PIRE",  "PIBA2", "PIMA",  "PIRE",  "POTR5")
cover2 = c(26.893939,  5.681818,  9.469697, 16.287879,  1.893939, 20.454546, 18.651515, 11.363636, 31.439394)
df_intended_output = data.frame(plotID2, species2, cover2)

轻松搭配aggregate

aggregate(cover~species+plotID, data=df_original, FUN=sum) 

更容易与data.table

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

如何根据多个条件对行求和 - R? [复制] 的相关文章

  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 如何找到多个 pandas 数据框中一对列与任意顺序对的交集?

    我有多个 pandas 数据框 为了简单起见 假设我有三个 gt gt df1 col1 col2 id1 A B id2 C D id3 B A id4 E F gt gt df2 col1 col2 id1 B A id2 D C id
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • 解析时区并转换为夏令时

    我有一个 pandas 数据框Datetime column Datetime 0 2019 01 01 17 02 00 1 2019 01 01 17 03 00 2 2019 01 01 17 04 00 3 2019 01 01 1
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • ggplot2、R 中的单条形条形图

    我有以下数据和代码 gt ddf var1 var2 1 aa 73 2 bb 18 3 cc 9 gt gt dput ddf structure list var1 c aa bb cc var2 c 73L 18L 9L Names
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 如何将 ggrough 图表另存为 .png

    说我正在使用R包裹ggrough https xvrdm github io ggrough https xvrdm github io ggrough 我有这个代码 取自该网页 library ggplot2 library ggroug
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 使用 C++ FindContours 在视频图像中查找轮廓的问题

    我现在正在工作的程序是almost完成了 但我对结果不是很满意 通过使用 Canny 算法 我成功地获得了非常清晰的物体轮廓 但程序在识别轮廓并用红线绘制轮廓时存在一些问题 该程序 void setwindowSettings namedW
  • PHP - 检测 CSV 分隔符的最佳方法

    我已经看到了多个关于自动检测传入 CSV 分隔符的最佳解决方案的主题 其中大多数是长度在 20 30 行之间的函数 多个循环预先确定的分隔符列表 读取前 5 行并匹配计数等 这是 1 个例子 https stackoverflow com
  • Laravel:如何从目录中获取随机图像?

    我有一个包含子目录的目录 每个子目录中都有图像 我想随机显示图像 下面我的 php 代码运行良好 但在 Laravel 中不起作用 问题在于opendir and readdir 查看刀片 div div
  • 如何与盐师沟通

    我正在尝试从 salt minion 访问 salt master 但是 我无法获得 salt master 的密钥 在我的虚拟机上 我安装了salt master在我的 Windows 上 我安装了salt minion 我已经在我的mi
  • 如何在 Makefile 中定义规则以仅编译已修改的 *.cpp 文件(及其依赖项),而不是所有 *.cpp 文件

    假设我有文件 Libs 一 cpp 一 h 两个 cpp 两个 h 三 cpp 三 h Program 程序 cpp 有没有办法创建 Makefile 它只编译上次编译时修改的 cpp 目前我有类似的东西 SRCS one cpp two
  • 提取两个字符串之间的所有字符串

    我正在尝试开发一种方法来匹配两个字符串之间的所有字符串 我已经尝试过 但它只返回第一个匹配项 string ExtractString string s string start string end You should check fo
  • 使用原则 2 和存储库,服务层的目的是什么?

    我正在设计我的应用程序 并且正在使用 Doctrine 2 和 Zend Framework 目前 我已经编写了所有实体 我将开始编写存储库 我想到了服务 我想知道我的服务层是否不会重复存储库 当我使用 Doctrine 2 存储库时 是否
  • 混淆(表单属性)[重复]

    这个问题在这里已经有答案了 我对使用 form 属性感到困惑 Form From MDN 一个输入最多可以与一个表单关联 From W3S form属性指定一个或多个表单元素 属于 要引用多个表单 请使用 以空格分隔的表单 ID 列表 那么
  • Google Apps 脚本 - 如何替换文件?

    我正在尝试使用脚本替换 Google 云端硬盘文件夹中的 PDF 文件 由于GAS不提供添加修订 版本 的方法 我试图替换文件的内容 但我得到的只是一个空白的PDF 我无法使用 DriveApp File 类 因为我们的管理员已禁用新 AP
  • C#:根据平台访问 32 位/64 位 DLL

    我们使用 C 应用程序中自行编写的 32 位 C DLL 现在我们注意到 当 C 应用程序在 64 位系统上运行时 会自动使用 64 位运行时 当然无法从 64 位运行时访问 32 位 DLL 我的问题是 有没有办法使用32位DLL 如果不
  • 从 iPhone 删除应用程序时如何删除所有本地通知

    假设我为 iPhone 应用程序设置了 5 个本地通知 然后用户删除了该应用程序 如果再次安装该应用程序 它会显示之前的通知 我知道以下代码会删除所有通知 UIApplication sharedApplication cancelAllL
  • NEHotspotHelper:无法在身份验证状态机的身份验证状态下发送 Web 请求

    我已经实施了NEHotspotHelper这样我就可以在后台对具有强制门户的网络执行身份验证 我需要在 身份验证 状态下执行 Web 请求 以便可以检索 Wispr 并访问 API 但是 当我尝试使用URLSession发送网络请求 请求失
  • 在数据库中找到重复的地址,阻止用户提前输入它们?

    如何在数据库中找到重复的地址 或者在填写表格时更好地阻止人们 我想是越早越好吧 有没有什么好的方法可以提取街道 邮政编码等 以便可以检测到拼写错误和简单的两次注册尝试 喜欢 Quellenstrasse 66 11 Quellenstr 6
  • 检查字符串是否与 JS 中的正则表达式匹配

    我想使用 JavaScript 我也可以使用 jQuery 来检查字符串是否与正则表达式匹配 a z0 9 5 并得到一个true or false result match 似乎检查字符串的一部分是否与正则表达式匹配 而不是整个字符串 它
  • 内容处理文件名在 IE 上不起作用

    我正在开发一个 asp net c Web 应用程序 该应用程序允许用户查看和下载 PDF 文件 当我点击一个文件时 我可以在浏览器中可用的 PDF 阅读器中查看该文件 当我保存它时 该文件应该使用我通过标题传递的名称保存 但这不是 IE7
  • 我可以将我的 Java 类注册为 OrientDB 顶点和/或边吗?

    我尝试了东方数据库对象数据库API http www orientechnologies com docs 1 7 8 orientdb wiki Object Database html 它允许使用将 Java POJO 注册到数据库en
  • ObservableCollection 不更新视图

    我刚刚开始使用 MVVM 遇到了一个障碍 希望有人可以帮助我 我正在尝试创建一个带有 2 个列表框的简单视图 第一个列表框中的选择将填充第二个列表框 我创建了一个类来存储我想要绑定的信息 MyObject 类 Observable Obje
  • 在 Shiny 中将绘图置于 FluidRow 中居中

    我有一个 FluidRow 其中一列中呈现了一个绘图 我想知道当我通过 renderPlot createplothere width 函数手动指定绘图宽度时如何使绘图居中 因此 它不会占用列的整个宽度 ui R代码 setwd C Use
  • JSF 在执行 ajax 更新时重置字段

    我在 JSF 页面上遇到问题 我在第一个账单名字字段中输入了一个名称 如果我点击复制帐单地址复选框 这会停止渲染递送地址面板并通过 ajax 隐藏它 我刚刚在第一个字段中输入的值将重置为之前的状态 JSF Page
  • 如何根据多个条件对行求和 - R? [复制]

    这个问题在这里已经有答案了 我有一个数据框 其中包含绘图 ID plotID 树种代码 species 和覆盖值 cover 您可以看到其中一张图中有多个树种记录 如果每个图中存在重复的 物种 行 如何对 覆盖 字段求和 例如 以下是一些示