将每个组扩展到最大 n 行

2024-01-28

如何将组扩展到最大组的长度:

df <- structure(list(ID = c(1L, 1L, 2L, 3L, 3L, 3L), col1 = c("A", 
"B", "O", "U", "L", "R")), class = "data.frame", row.names = c(NA, 
-6L))


ID col1
1 A
1 B
2 O
3 U
3 L
3 R

期望的输出:

1 A
1 B
NA NA
2 O
NA NA
NA NA
3 U
3 L
3 R

您可以利用以下事实:df[n_bigger_than_nrow,]给出一行NAs

dplyr

max_n <- max(count(df, ID)$n)

df %>% 
  group_by(ID) %>% 
  summarise(cur_data()[seq(max_n),])
#> `summarise()` has grouped output by 'ID'. You can override using the `.groups`
#> argument.
#> # A tibble: 9 × 2
#> # Groups:   ID [3]
#>      ID col1 
#>   <int> <chr>
#> 1     1 A    
#> 2     1 B    
#> 3     1 <NA> 
#> 4     2 O    
#> 5     2 <NA> 
#> 6     2 <NA> 
#> 7     3 U    
#> 8     3 L    
#> 9     3 R

base R

n <- tapply(df$ID, df$ID, length)
max_n <- max(n)
i <- lapply(n, \(x) c(seq(x), rep(Inf, max_n - x)))
i <- Map(`+`, i, c(0, cumsum(head(n, -1))))
df <- df[unlist(i),]
rownames(df) <- NULL
df$ID <- rep(as.numeric(names(i)), each = max_n)

df
#>   ID col1
#> 1  1    A
#> 2  1    B
#> 3  1 <NA>
#> 4  2    O
#> 5  2 <NA>
#> 6  2 <NA>
#> 7  3    U
#> 8  3    L
#> 9  3    R
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将每个组扩展到最大 n 行 的相关文章

随机推荐

  • 在表格布局中显示动态行的问题:Android

    我想以表格布局显示数据 数据数量是动态的 所以我需要在表中实现动态行 为此 我想在一行中显示 4 个 TextView Problem 目前 我能够在表中和四个 TextView 中显示数据 但我希望所有四个 EditText 之间有一些空
  • 在不使用排序功能的情况下按某个元素对嵌套列表进行排序。

    如果我有一个像这样的嵌套列表 L James 1 2 Alan 1 1 Henry 1 5 如何在不使用排序或排序函数的情况下根据每个子列表中的最后一个数字从最高到最低对它进行排序 Output final Henry 1 5 James
  • SAS 替换所有列中的字符

    我有一个 SAS 数据集 必须导出到 csv 文件 我有以下两个相互矛盾的要求 我必须使用分号作为 csv 文件中的分隔符 一些字符变量是从公式中手动输入的字符串 因此它们可能包含分号 我对上述问题的解决方案是转义分号或用逗号替换它 我怎样
  • OpenCV Mat 对象 - 获取数据长度

    在 OpenCV 中 我可以使用 C 中的 VideoCapture 捕获帧 但是 当我尝试从帧中获取数据并计算长度时 它只返回 0 下面是我的示例代码 VideoCapture cap 0 for Mat frame cap gt gt
  • Codeigniter:执行 $this->db->last_query();执行查询?

    查询执行是否发生在get where 以下 codeigniter 活动记录语句的子句 this gt db gt select q this gt db gt get where Contacts array id gt contact
  • 在 JavaScript 正则表达式中使用 {1}+ 所有格量词时出现正则表达式错误

    由于我同时学习 Javascript 和 Express js 因此我在发出 get 请求时尝试使用正则表达式 为了熟悉正则表达式 我使用了这个chart http docs oracle com javase tutorial essen
  • 如何使用信号更新另一个模型字段来更新模型字段?

    我正在尝试添加所有total值在Transaction模型并将它们放入Sale模型的第一个实例 pk 1 gross total场地 这是我的代码 模型 py class Sale models Model gross total mode
  • 为什么应用程序有时会在killProcess 上重新启动?

    通常 通过调用以下命令退出我的应用程序 android os Process killProcess android os Process myPid 表现良好 没有发生任何事故 但每隔一段时间 应用程序就会再次重新启动 退出后 相关日志片
  • 如何使用Android MediaCodec编码相机数据(YUV420sp)

    感谢您的关注 我想使用Android MediaCodec API对从Camera获取的视频帧进行编码 不幸的是 我没有成功做到这一点 我对 MediaCodec API 还不太熟悉 以下是我的代码 我需要你的帮助来弄清楚我应该做什么 1
  • 将参数传递给正在运行的应用程序

    我正在制作一个图像上传器 将图像上传到图像托管网站 并且在传递参数时遇到一些问题 图像位置到已运行的应用程序 首先 假设 MyApp exe 始终运行 每当我右键单击图像时 我都会在默认 Windows 上下文菜单中添加一个项目 显示 上传
  • RAM 如何以 O(1) 的速度访问内存中的任何位置

    我们被告知 RAM 内存的抽象是一个长字节数组 对于 CPU 来说 访问它的任何部分都需要相同的时间 能够同时访问 4 GB 在我的计算机上 中的任何字节的设备是什么 因为这对我来说似乎不是一个微不足道的任务 我问过同事和我的教授 但没有人
  • 减少 React.min.js 和 React-dom.min.js 的 Browserify 包

    我想将一些 React 库与 Browserify 捆绑在一起 require他们 但因文件大小而推迟 我使用以下 Browserify 命令 browserify path to react min js path to react do
  • 为 Uwsgi 编译插件

    我从官方网站编译了uwsgi版本x y zz ww 我使用官方文档中建议的命令编译了uwsgi 然后我用官方文档中的命令编译了Python建议的插件 我得到的错误输出是这样的 gt ubuntu ip xx yy zz ww tmp uws
  • 检测自定义形状 OpenCV

    我想在 OpenCV 中找到自定义形状 形状是预先定义的 我想使用网络摄像头实时检测该形状是否等于当前形状 我怎样才能做到这一点 如何比较预定义的自定义形状和当前形状 正如评论者所回避的那样 您可以使用模板匹配来检测自定义形状 那么什么是模
  • 检查对象类型失败并出现“不是类型”错误

    我试图检查一个对象是否属于给定类型 但收到错误 expectedClass 不是类型 我的代码如下 func testInputValue inputValue AnyObject isKindOfClass expectedClass A
  • Spring Boot 应用程序已弃用 java.security.egd=file:/dev/./urandom?

    我曾经配置过 Djava security egd file dev urandom在我的 Spring Boot 应用程序的 Dockerfile 中 In https spring io guides gs spring boot do
  • 将增量数据从 REST API 引入 SQL azure

    我的需求如下 需要将数据从第 3 方 API 提取到 SQL azure 中 每天都会查询 API 以获取增量数据 并且可能需要分页 因为默认情况下任何 API 响应都只会提供前 N 条记录 该 API 还需要一个身份验证令牌才能工作 这是
  • Android 应用程序中使用的服务器 Web 的 Google Places API 密钥请求被拒绝

    我正在尝试从 Android 应用程序的 Google Places API 获取信息 为此 我首先在我的 Google 帐户中启用了此 API 其次 我为浏览器创建了一个 API KEY 由于另一个 API 我已经有了一个 API KEY
  • Doctrine DQL 每组最大 n

    这是我的 Symfony2 项目的 2 个表 EVENT PHOTO id id event id likes 1 1 1 90 2 2 1
  • 将每个组扩展到最大 n 行

    如何将组扩展到最大组的长度 df lt structure list ID c 1L 1L 2L 3L 3L 3L col1 c A B O U L R class data frame row names c NA 6L ID col1