在 R 中的 dplyr 中分组一些其他变量后,如何保留其他变量?

2024-04-20

之前今天我发布了这个问题here https://stackoverflow.com/questions/72461943/how-can-i-add-missing-month-value-and-remove-duplicate-in-dplyr-in-r/72462277#72462277但我还有一个问题被提出。

如果我必须在原始数据框中添加更多变量(loc,高度):

var = c(rep("A",3),rep("B",2),rep("C",5));var
date = c(as.Date("2022/01/01"),as.Date("2022/02/01"),as.Date("2022/03/01"),
         as.Date("2022/01/01"),as.Date("2022/03/01"),
         as.Date("2022/01/01"),as.Date("2022/01/01"),as.Date("2022/02/01"),as.Date("2022/02/01"),as.Date("2022/03/01"))
loc = c(rep("london",3),rep("berlin",2),rep("cairo",5))
height =c(13,14,15,13,15,16,12,14,13,15)
data = tibble(var,date,loc,height);data

如何保留 loc 变量的相应值和每个月的高度总(和)(另外在前面回答的问题中)?

理想情况下,它现在必须看起来像这样:

var Quarter Month Condition loc height
A 1 1 TRUE London 13
A 1 2 TRUE London 14
A 1 3 TRUE London 15
B 1 1 TRUE berlin 13
B 1 2 FALSE berlin 0
B 1 3 TRUE berlin 15
C 1 1 TRUE cairo 28
C 1 2 TRUE cairo 27
C 1 3 TRUE cairo 15

有什么帮助吗?我如何使用 dplyr 在 R 中做到这一点?


在之前的解决方案中,添加.keep_all = TRUE in distinct进而fill the loc具有先前非 NA 值的列

library(dplyr)
library(tidyr)
library(lubridate)
data %>%   
   mutate(month = lubridate::month(date)) %>%
   group_by(var, month) %>% 
   mutate(height = sum(height)) %>%
   ungroup %>% 
   complete(var, month, fill = list(height = 0)) %>% 
   mutate(Quarter = quarter, Condition = !is.na(date)) %>% 
   distinct(var, month, Quarter, Condition, .keep_all = TRUE) %>% 
   fill(loc) %>% 
   select(-date)

-output

# A tibble: 9 × 6
  var   month loc    height Quarter Condition
  <chr> <dbl> <chr>   <dbl>   <dbl> <lgl>    
1 A         1 london     13       1 TRUE     
2 A         2 london     14       1 TRUE     
3 A         3 london     15       1 TRUE     
4 B         1 berlin     13       1 TRUE     
5 B         2 berlin      0       1 FALSE    
6 B         3 berlin     15       1 TRUE     
7 C         1 cairo      28       1 TRUE     
8 C         2 cairo      27       1 TRUE     
9 C         3 cairo      15       1 TRUE     
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中的 dplyr 中分组一些其他变量后,如何保留其他变量? 的相关文章

随机推荐

  • 无偏返回 n 个随机正数 (>=0) 的列表,使得它们的总和 == 总和

    我正在寻找一种算法或建议来改进我的代码以生成随机数列表 这些随机数的总和等于某个任意数 对于下面的代码 它总是有偏差 因为第一个数字往往会更高 有没有办法让选号更高效 usr bin python Generate a list of nu
  • 使用 sed 替换 shell 脚本中的特殊字符

    我正在尝试编写一个 shell 脚本 它将替换我使用 sed 选择的任何字符 字符串 我的第一次尝试除了特殊字符之外都有效 我一直在尝试使用 sed 来修复特殊字符 以便它们也能被搜索或替换 我决定简化脚本以进行测试 只处理一个有问题的角色
  • OpenGL:多个顶点的单个顶点属性?

    我有一个接受以下属性的顶点着色器 a posCoord 顶点位置 a texCoord 纹理坐标 传递给片段着色器 a alpha 透明度因子 传递给片段着色器 我正在渲染的对象都是 广告牌 一对直角三角形组成一个矩形 我正在使用一次调用g
  • 使用 TopMost = true 打开 WinForms 表单但不让它抢走焦点?

    我有一个在用户屏幕上弹出的表单 并且有TopMost true 但它抢走了焦点 我怎样才能得到它not当它第一次出现时就抢走了焦点 这对我有用 它提供了 TopMost 但没有焦点窃取 protected override bool Sho
  • 为什么将 static libcurl.a 添加到 xcode 7.2 示例项目中会添加 libcurl.4.dylib 依赖项

    我一直试图通过将 libcurl a 添加到我的 Xcode 7 2 项目来消除对 libcurl 4 dylib 的任何依赖 我构建了一个全新的 libcurl 并将其放置在 usr local lib 中 标头位于 usr local
  • 在 Spring 中配置特定的内存数据库用于测试目的

    我该如何配置我的春季启动应用程序 以便当我运行时单元测试它将使用在记忆中数据库如H2 HSQL但当我跑步时春季启动应用程序它将使用生产数据库PostgreSQL MySQL 为此可以使用弹簧型材 这将是一种具体的方式 具有特定于环境的属性文
  • pycharm:在“调试”模式下从标准输入读取

    我正在 PyCharm 中调试此脚本 import sys def read in lines sys stdin readlines for i in range len lines lines i lines i replace n r
  • “sys.excepthook”和线程

    我正在使用Python 2 5并尝试使用自定义excepthook在我的程序中 在主线程中它工作得很好 但在以线程模块启动的线程中 通常excepthook叫做 这是一个显示问题的示例 取消注释该注释会显示所需的行为 import thre
  • 带图像的 SVG 进度条

    我正在尝试使用 SVG 创建进度条 弧 我目前的进度条正在工作 它正在使用存储在数据属性中的值移动所需的量 并且看起来相当不错 虽然我试图让图像随着酒吧的弧线移动 图像应从 0 开始 并移动到完成点 例如 50 即位于顶部 div clas
  • 如何创建一个从 NSWindow 模态弹出的 NSPanel(Cocoa 编程)

    就像在 NSWindow 中单击按钮后显示的 NSPanel 一样 我查了很多 但没有简单的例子 谢谢你的帮助 可以这样做 IBAction showButtonAction id sender NSApplication sharedAp
  • Chrome 浏览器开发者工具:脚本多次出现

    当使用 Chrome 的开发者工具调试 Javascript 时 当我更改 重新加载 测试代码时 脚本 列表往往会添加每个脚本的多次出现 Safari 使用相同的基本工具集 但不这样做 某个脚本在此列表中出现 10 次并不陌生 发生这种情况
  • 使用新数据重新加载 ngx-graph

    我正在尝试泳道 ngx graph 在我的应用程序中用户可以删除或添加节点 根据删除或添加操作 我将相应地更新我的数据 现在真正的问题是如何在不刷新整个页面的情况下刷新图表 您可以使用以下方法更新它update 图表的选项 HTML
  • ASP.NET MVC3 部分视图命名约定

    我是 MVC 开发的新手 所以请耐心等待 真的有必要将我的部分视图命名为 Action cshtml 与 下划线 以遵守命名约定 这是我的问题我有一个控制器 StudentController 和一个操作 List 它有一个名为 List
  • 将多个正则表达式合并为一个

    我正在尝试编写一个代码将字符串连接成拉丁诗句 我已经处理了一些限制 但是我没有得到所需的输出 我的代码如下
  • Swift:标准数组的二分搜索?

    我有一个排序数组 想对其进行二分搜索 所以我问 Swift 库中是否已经有一些东西可以使用 比如排序等 或者是否有可用的类型无关版本 当然我可以自己写 但我喜欢避免再次重新发明轮子 这是我最喜欢的二分搜索实现 它不仅对于查找元素很有用 而且
  • 类型错误:$(...).selectize 不是函数

    我将 selectize rails gem 安装到了我的 Rails 应用程序中 并且正在尝试使其正常工作 我的网络控制台中不断出现此错误 TypeError selectize is not a function 并且浏览器中没有任何反
  • 使用 xcodebuild 构建等待 /"runContextManager.runContexts" 超时

    我正在设置我的 iphone 项目以与 hudson 一起运行 我的构建脚本在本地运行良好 但是当在我的雪豹服务器 mac 上执行以下命令时 xcodebuild sdk iphoneos4 3 workspace Moments xcwo
  • 单击闪亮的操作按钮后将光标聚焦在文本区域

    无论如何 我都不是 html 或 JavaScript 方面的专家 因此 我希望您能就这个问题得到帮助 我认为我应该提供应用程序的较小版本 以便能够解释问题 这是一个简单应用程序的 app R 它允许用户在文本区域中写入一个单词 单词的第一
  • Laravel 5 Dotenv 用于特定子域

    我的 laravel 5 应用程序中有几个子域 每个子域都有特定的配置 如 mail nocaptcha 等 如何设置 env 文件以与我的特定子域一起使用 是的 您可以使用单独的 env每个子域的文件 因此如果您在配置中使用环境变量 它将
  • 在 R 中的 dplyr 中分组一些其他变量后,如何保留其他变量?

    之前今天我发布了这个问题here https stackoverflow com questions 72461943 how can i add missing month value and remove duplicate in dp