问题标签 [rowsum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 将每 4 列相加(在大型数据集上将季度数据转换为年度数据)
我有一个形式的(大)数据框:
本质上,每一行每年都有 4 列数据,按季度排序。我想把它变成年度数据。
一种方法是简单地对每 4 列求和(例如,对 2008-Q1:2008-Q4 求和)。我想另一种方法是过滤在(2007-** 或其他时间)中共享同一年份的列,然后RowSums()
在它们上运行,但这听起来效率要低得多。
我希望得到一个看起来像这样的数据框:
Variable Country 2007 2008
Var1 AR:Argentina SUMXX SUMXX
甚至更好:
Country Year Var1 Var2
AR:Argentina 2007 SUMXX SUMYY
AR:Argentina 2008 SUMXX SUMYY
.
第二种格式会更受欢迎,但第一种格式也很好。主要的是,我需要能够相对容易地为一个变量、一个国家、所有年份选择数据。如果我可以为任何给定变量选择所有国家的所有年份 - 更好(第二种格式)。
除了运行嵌套循环等之外,还有什么简单的方法可以做到这一点?
r - ncol(xj) 中的错误:使用 rowSums 找不到对象“xj”
我正在对数据框使用 R 和 rowSums 函数,如本文所述:Sum over spatialGridDataFrame: rowSums or colSums。现在起诉 rowSums 如下:
现在我面临新的错误,我真的不知道为什么我会收到这个错误:
你能帮我理解这个问题并解决它。
供您参考,此代码之前有效,但在改进代码并特别执行以下工作以将栅格返回到空间网格数据框后,我收到此错误:
最好的,
r - 如果多个条件未在 r 中给出输出
我有一个数据框
我正在尝试检查总和为特定数字的那些元素的组合以及检查 sumproduct 的那些相同元素 但它没有给出任何输出例如从数据帧df这些值的总和为 25,所以
这是我期望的以下代码的输出a2,a5,a6
这是我的代码
r - 访问数据帧上的列和行并根据列表中指定的列对特定行求和
我的数据结构在一个长度为 6 的列表(名为 L)中,因此它包含 6 个数据帧。我正在正确访问我想要的df(名为D)L[[dfname]]
:。我的目标是获取由来自另一个数据框(名为 Dselect)的向量标识的行的总和,选择 D 的一个特定行号以及与Dselect$row
包含在列表(名为 Lselect)中的该行关联的特定列(一个或多个)我可以使用 中包含的 id 访问Dselect$idforcolumn
。这是我的对象的示例:
除了以不同的方式构建我的数据之外,还有什么解决方案?我想到了 summing 之类的东西D[ Dselect$row, Lselect[[Dselect$idforcolumn]] ]
。目标是返回一个正确关联的列(在这种情况下:c(2,3))我可以添加回来Dselect
。谢谢。
r - R中不平衡面板数据中的滚动行和
我有不平衡的面板数据,并希望在列(时间序列“日期”)中报告过去 36 个月的每个观察结果的行和(MRAR):
我尝试了以下方法:
所需的 MRAR_3y 数据框给出了过去 36 个月的 ER 的总和但是,上面的代码返回以下内容:
因此,甚至在前 36 个日期列之前就有一些值。如果我查看(MRAR_3y),则 df 中有一些“inf”条目。
这个问题与围绕滚动和的几个线程有关,即R dplyr rolling sum
非常感谢您的帮助,Wilhelm Fantastisch
r - 整数列的总和是双倍的
我不明白为什么以及如何防止两个整数列的总和成为 class numeric
, type double
。任何的想法?
这是一个小的工作示例
r - 使用 dplyr (或其他)将 R 代码简化为 rowSums 而忽略 NA,除非全部为 NA
我最初在这个问题的帮助下解决了我的 NA 问题。但是,我想简化我的代码。过去,我很享受dplyr帮助我简化 R 代码的方式。
下面是一个最小的工作示例,说明了我当前的解决方案以及我在 dplyr 中所处的位置。
我有这样的数据,
我需要总结好几行,使用 0 作为我求和的值,并为所有的行保留's 。像这样,NA
NA
这可以解决问题并创建sum1
,但我必须重复对数据的引用三遍。我可以用一些方便的方式简化它吗?我使用 dplyr 制作了以下代码,但也许有更好的方法来汇总行;同时保留NA
具有 all 的行NA
,忽略NA
具有一个或多个值的行中的 ',并将 0 视为“汇总”的值?
这会创建sum2
,但会生成 0 ifna.rm = TRUE
和太多NA
的 if na.rm = F
。
更新截至 16 日 22:18:33Z
我对不同的答案做了这个有点精细的微基准比较。请不要急于优化任何功能。编写 R 函数不是我的力量。不管,
r - 动态重新编码原始变量的某些值的数据帧的总和值
假设我有以下数据框:
我想对 a + b + c + d 的值求和,但每次这些变量中的任何一个值为 9 时,我想求和 3 而不是 9。
我知道我可以通过使用以下语法重新编码每个变量来做到这一点:
df[,1:4][df[,1:4]==9]<-3
但我想用一个临时表或一些允许我跳过这一步的代码来做。最重要的是,我不想错过每个变量的原始值,因为 9 将对我需要做的其他操作有意义。
这将是我想要的结果:
非常感谢,
亚特罗辛
r - 按行过滤并对列值求和
我的数据看起来像
只有当 A 和 B 都不是 NA 时,我才尝试计算每个 pos 的 A 和 B 之间的百分比差异。
所以结果应该是
我不知道哪一部分是错的,但我的代码会产生
任何想法,将不胜感激。谢谢!
r - 仅当一个 Na 时,将 R 中新列中的两列相加
我想将两列相加,假设列“apinten”和“apmod”。如果两列中只有一列中有 Na,我希望 R 忽略 Na,但如果两列是 Na,我想报告“Na”......目前我做到了:
它
使用这些命令,如果只有一个缺失,R 仅在新列中报告另一个的值,但如果 apinten 和 apmod 列都为 Na,则 R 在新闻列中报告值“0”...... 0 是价值,我不想要它。