【发布时间】:2021-12-28 19:58:02
【问题描述】:
下午好!
我认为这是一个非常直截了当的问题,但我认为我缺少几个步骤。想根据列位置创建组。
正在使用数据框/小标题; 33 行长,66 列宽。然而,每一个 6 列的序列,都应该真正分离到它自己的子数据框/小标题中。
数字列的顺序对于数据框是任意的。下面是 mtcars 的尝试,我试图将每 2 列分组到它自己的子数据框中。
mtcars %>%
tibble() %>%
group_by(across(seq(1,2, length.out = 11))) %>%
nest()
但是,该方法会产生错误。类似的情况也适用于仅在 nest() 中工作。
使用 mtcars,希望使用每 3 列的序列或其他数字创建组。
最终希望 mtcars 数据框成为...
- 1:3 列成为第 1 组,
- 第 4:6 列成为第 2 组,
- 列 7:9 成为第 3 组等...同时保留每列中的行信息。
还考虑了带有 pivot_longer 的东西...
mtcars %>%
tibble() %>%
pivot_longer(cols = seq(1,3, by = 1))
...但这并没有生成定义的组,或者继续沿数据框的所有列排序。
希望你们能帮我解决这个问题!会使某些工作任务更容易。
PS - 如果您可以将工作流程保持为以 tidyverse 为中心的代码,那将是一个加分项:)
【问题讨论】:
-
“组”是什么意思?一个单独的数据框列?这些列的名称应该是什么?
-
“组”是指一个数据框列表,每 3 列是一个数据框。名字对我来说并不重要,第 1 组或仅第 1 组都可以。下面提供的解决方案对我来说效果很好,虽然我真的认为它需要更少的步骤。