按列值计算百分比

2023-12-02

我有以下有关瑞士注册车辆的数据框:

Fuel     Year   Region   Count
Gasoline 2013       GE  169600
Diesel   2013       GE   46790
Hybrid   2013       GE    2268
Electric 2013       GE      85
Other    2013       GE     532
Gasoline 2013       VS  149232
Diesel   2013       VS   50591
Hybrid   2013       VS    1028
Electric 2013       VS     268
Other    2013       VS     261

我想在数据框中添加一个额外的“Pct”列,其中包含按年份和地区划分的燃料类型的百分比,但我很难理解如何添加。结果应该是:

Fuel     Year   Region   Count  Pct
Gasoline 2013       GE  169600  0.7734
Diesel   2013       GE   46790  0.2134
Hybrid   2013       GE    2268  0.0134
Electric 2013       GE      85  0.0004
Other    2013       GE     532  0.0024
Gasoline 2013       VS  149232  0.7410
Diesel   2013       VS   50591  0.2512
Hybrid   2013       VS    1028  0.0051
Electric 2013       VS     268  0.0013
Other    2013       VS     261  0.0013

这是一个很好的用例ave然后是简单的向量除法:

# load your data
d <- read.table(text="Fuel     Year   Region   Count
Gasoline 2013       GE  169600
Diesel   2013       GE   46790
Hybrid   2013       GE    2268
Electric 2013       GE      85
Other    2013       GE     532
Gasoline 2013       VS  149232
Diesel   2013       VS   50591
Hybrid   2013       VS    1028
Electric 2013       VS     268
Other    2013       VS     261", header = TRUE)

# `ave` by groups and divide
d$Pct <- d$Count/with(d, ave(Count, list(Year, Region), FUN = sum))
# or, equivalently:
# d <- within(d, Pct <- Count/ave(Count, list(Year, Region), FUN = sum))

Result:

> d
       Fuel Year Region  Count          Pct
1  Gasoline 2013     GE 169600 0.7734579865
2    Diesel 2013     GE  46790 0.2133850188
3    Hybrid 2013     GE   2268 0.0103431764
4  Electric 2013     GE     85 0.0003876411
5     Other 2013     GE    532 0.0024261772
6  Gasoline 2013     VS 149232 0.7410467772
7    Diesel 2013     VS  50591 0.2512215712
8    Hybrid 2013     VS   1028 0.0051047770
9  Electric 2013     VS    268 0.0013308174
10    Other 2013     VS    261 0.0012960572
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按列值计算百分比 的相关文章

  • R Shiny 中表格的条件格式

    我正在尝试可视化队列分析 并想使用RenderDataTable闪亮以获得这种可视化效果 我将能够突出显示基于具有值 1 0 的单独列的所有单元格 其中 1 被着色 0 不被着色 我尝试了几件事 包括尝试使用geom tile in ggp
  • 将一个数据框中的行(带有行名称)与另一个数据框中的匹配列名称相乘

    我有两个数据框 df1 lt data frame Values c 0 01 0 05 row names c X Y df1 Values X 0 01 Y 0 05 df2 lt data frame c 0 1 1 c 1 0 0
  • 如何使用键盘命令中断 R 中正在运行的代码?

    如何中断 R 中正在运行的脚本 假设我遇到无限循环或其他问题 并且我想停止脚本运行 有键盘命令可以做到这一点吗 如果有帮助的话 在 Python 中是 Ctrl c 我在R中尝试过 但没有成功 自我回答 几乎是其他人的评论和答案的总结 In
  • 使用 kableExtra 增加行/行间距

    有没有办法在 r markdown 或 bookdown 中使用 kableExtra 增加 pdf 输出的行间距 library knitr library kableExtra kable head iris 5 caption Iri
  • R Markdown 文档标题中的希腊字母

    R markdown 文档的标题中是否可以包含希腊字母 我试过这个 title Amylase author author date 8 March 2017 output pdf document keep tex true toc ye
  • 如果在循环中调用summary()命令,如何获得它的输出?

    Suppose Z是特征名称的向量 如何让以下 Rscript 中的摘要命令实际打印 for var in Z cat i form paste crim var lm fit lm form data Boston summary lm
  • 基于列重复数据集中的行,但增加行[重复]

    这个问题在这里已经有答案了 我有一个数据集 其中包含项目名称 开始年份和合同期限 我需要将这个数据集开发成时间序列 例如 我的数据集中的一行是 项目 A 开始年份 2003 年 合同期限 5 我想根据合同期限重复每一行 我的数据集如下所示
  • magrittr 管道中的 WOE

    如何将下面的证据代码权重放入 magrittr 管道中 df gt 我尝试过的一切似乎都不起作用 df library Information library magrittr df a c aa bb cc aa aa aa bb cc
  • 在R中使用plotly在轴标题中换行和下标

    我刚开始使用plotly对于 R 中的一些交互式散点图 并且在轴标签上遇到困难 通常我设计我的情节ggplot2然后使用ggplotly函数来转换它们 但这有时由于某种原因非常慢 所以我想直接在中创建我的图plotly 我现在尝试更改轴标题
  • 拆分并保存在新的 data.frames 中

    我有一个大 data frame 144 列 我想将其分成每组 3 列 子文件或子 data frame 然后将子 data frame 保存在单独的文件中 换句话说 file1 将包含从 1 到 3 的列 file2 将包含从 6 到 9
  • 直接来自数据的马尔可夫模型图(makovchain 或 deemod 包?)

    我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵 我发现了一个非常好的软件包 称为 heemod 它与 diagram 一起工作得不错 对于我的第一个快速而肮脏的方法 我运行了一段 Python 代码来获取矩阵 然后使用这个 R
  • 是否有 R 函数可以将这些数据从长形重塑为宽形?

    数据现在看起来如何 Coach ID Student score 1 A 8 1 B 3 2 A 5 2 B 4 2 C 7 看起来像这样 Coach ID Student score student 2 score 2 student 3
  • 通过单击堆叠条形图打开选项卡

    我正在使用 R 构建一个包含转发的堆积条形图 ggplot and plotly 如果单击条形图的一部分 我希望打开一个新的浏览器选项卡并显示该特定日期的推文以及指定的转发量 但是 当我单击下面示例中的其中一个栏时 会打开一个不同的链接 表
  • 为什么我收到保存错误、软盘错误的消息?

    我最近更新了 R 和 R studio 当我尝试保存文件时 收到一条错误消息 保存 文件名 时出错 驱动器中的软盘错误 将 2 卷序列号 3 插入驱动器 1 这是第一次看到这个错误信息 不知道该怎么办 我也无法 另存为 感谢您的帮助 尝试使
  • R 中自定义函数的等高线图

    我正在使用一些自定义函数 我需要根据参数的多个值为它们绘制轮廓 这是一个示例函数 我需要画这样的等高线图 任何想法 Thanks 首先你构造一个函数 fourvar它将这四个参数作为参数 在这种情况下 您可以使用 3 个变量来完成此操作 其
  • 重叠并固定小平面中的 x 尺度(尺度=“自由”)以制作电影

    在另一篇文章中 Justin 的帮助下 我用以下方法绘制了模拟结果facet gridggplot2 中的选项 包含数据和答案的帖子在这里 使用facet grid选项通过ggplot2绘制数据框的列 https stackoverflow
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • 在前两个冒号上分割字符串

    我想在前两个冒号上拆分一列字符串 但不在任何后续冒号上拆分 my data lt read table text my string some data 123 34 56 78 100 87 65 43 21 200 a4 b6 c888
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a
  • 将从数据透视表包生成的数据透视表转换为数据帧

    我正在尝试制作一个数据透视表pivottabler包裹 我想将数据透视表对象转换为数据框 以便我可以将其转换为数据表 带有 DT 并在 Shiny 应用程序中渲染它 以便可以下载 library pivottabler pt qpvt mt

随机推荐

  • 同一对象的哈希值不同,Swift,Hashable

    里面的Hashable我们可以看到 Hash values are not guaranteed to be equal across different executions of your program Do not save has
  • 从最后一行开始搜索 mysql 表

    所以 我知道关系数据库上不存在 最后一行 这样的东西 但我找不到更好的词来解释我想要做什么 我有一个如下所示的表 其中id is an AUTO INCREMENT场和time是当前的 Unix 时间戳 请注意 我可以为不同的行使用相同的时
  • Python 生成器表达式括号奇怪

    我想确定列表是否包含某个字符串 因此我使用生成器表达式 如下所示 g s for s in myList if s myString any g 当然我想内联它 所以我这样做 any s for s in myList if s myStr
  • Swift 上的常见 Equatable 类

    我需要容器Any Equatable中的项目NOT Generic类 例如故事板中初始的 UI 类 我需要这样 var items Equatable 但它不起作用 Equatable need Generic 不存在共性的问题Equata
  • Sharepoint 2013:通过 REST API 确保用户

    我正在尝试通过 REST API 自动确保某些用户 我的 REST 通话 ajax url blablabla api web ensureuser type POST data logonName i 3A0 23 w 7Cdomain
  • 从 WCF 服务公开枚举的 DescriptionAttribute

    如何使用 WCF 将服务中的枚举值中的描述属性暴露给客户端或 Web 引用 或者 如何使用 WCF 向客户端公开带有描述属性的枚举 虽然公开描述属性不公开 但客户端中仅公开枚举值 我想要枚举中描述属性的值 您不能强制执行此操作 mex WD
  • 如何在没有类的情况下生成对象的新实例?

    问题 如何从该类的实例生成该类的新实例 我发现了什么 考虑下一个类及其实例 Create a new class var Foo function Foo console log New instance of FOO Foo protot
  • 我可以隐藏控制器并查看名称 cake php 2 吗?

    我正在使用 cake php 由于某种原因我想从 url 中隐藏控制器和操作名称 当前网址我们喜欢 http 192 168 1 31 home this is test 其中 home 是控制器名称 this is test是动态的 sl
  • 进程卡在退出处,显示为僵尸但无法收获

    我有一个由其父级监控的进程 孩子遇到了一个错误 导致它调用abort 该进程不会篡改中止进程 因此它应该按预期进行 转储核心 终止 父级应该检测子级的终止并触发一系列事件来响应失败 子进程是多线程且复杂的 这是我看到的ps F UID PI
  • 查询失败错误:无法通过前缀查询视图。匹配视图的部分列表是

    我正在尝试查询具有多个表和等效视图的数据集 我试图使用 table suffix 仅查询表 但它返回错误 查询失败错误 无法通过前缀查询视图 匹配视图的部分列表 我无法从数据集中删除视图 有没有办法只查询表而忽略视图 SELECT COUN
  • 为什么 ref 和 out 不足以消除 C# 中重载的歧义?

    例如 为什么这个方法Max ref int x ref int y 不被认为是过载Max int x int y 为什么与相同out 这个问题预设了一个错误的前提 Max int x int y Max ref int x ref int
  • CreateProcess() C++ 文件未找到

    我正在尝试使用CreateProcess启动一个子进程 但是我不断得到error 2 根据文档 该文件未找到 我的代码如下所示 if CreateProcess LPCTSTR test exe NULL NULL NULL FALSE 0
  • 如果单词至少包含 N 次,则匹配正则表达式

    尝试创建 SpamAssassin 自定义规则 如果电子邮件正文中包含短语 SEO 四次或更多次 则该规则会匹配 为什么像这样的简单模式不匹配 true SEO 4 m 我想我明白了 您不需要 m 修饰符 因为您不使用 或 您需要 s 修饰
  • PyQT4 和 QPixmap:加载大小为零的图像?

    我对 PyQt4 感到困惑 我在python2 6上尝试了以下步骤 In 1 from PyQt4 import QtGui In 2 import sys In 3 app QtGui QApplication sys argv In 4
  • 重写 onMeasure 时,自定义 LinearLayout 的膨胀子项不会显示

    我想展示一个MyCustomLinearLayout这延伸了LinearLayout 我正在充气MyCustomLinearLayout与android layout height match parent 属性 我想要的是展示一个Imag
  • 从文件中随机选择行

    我有一堆文件 每个文件都有 5 行标题 在文件的其余部分中 一对行形成一个条目 我需要从这些文件中随机选择条目 我如何选择随机文件和随机条目 一对行 不包括标题 如果文件足够小 请将行对读入内存并从该数据结构中随机选择 如果文件太大 Eug
  • PHP - 返回分隔符后的所有内容

    有similar 问题在SO中 但我找不到任何完全像这样的 我需要删除直到 并包括 特定分隔符的所有内容 例如 给定字符串File MyFile jpg 我需要删除所有内容 这样我就只剩下MyFile jpg 提前致谢 使用此 preg r
  • 从 IBDesignable 中的自定义控件的框架加载代码

    我已经在 OS X 应用程序中实现了一个运行良好的自定义控件 当绘制控件时 它使用来自非系统框架的代码 控件是用swift编写的 框架是用Objective C编写的 该框架不是与具有自定义控件的应用程序构建在同一项目或工作区中 我已将框架
  • 多行注释解决方法?

    我 某种程度上 已经知道这个问题的答案 但我认为这是 R 用户列表中经常被问到的问题 应该有一个可靠的好答案 据我所知 R 中没有多行注释功能 那么 有人有什么好的解决方法吗 虽然 R 中的相当多的工作通常涉及交互式会话 这让人怀疑是否需要
  • 按列值计算百分比

    我有以下有关瑞士注册车辆的数据框 Fuel Year Region Count Gasoline 2013 GE 169600 Diesel 2013 GE 46790 Hybrid 2013 GE 2268 Electric 2013 G