【问题标题】:Moving data frame columns移动数据框列
【发布时间】:2023-04-02 02:56:01
【问题描述】:

请参阅下面我用于分析的数据集。 HI 想在 col 145 之后移动 2:25

结构(列表(持续时间 = c(10, 20), 00:00 = c(0, 0), 00:10 = c(0, 0), 00:20 = c(0, 0), 00:30 = c(0, 0), 00:40 = c(0.04, 0.00173913 ), 00:50 = c(0, 0.008695652), 01:00 = c(0, 0), 01:10 = c(0, 0), 01:20 = c(0, 0), 01:30 = c(0, 0), 01:40 = c(0, 0), 01:50 = c(0, 0), 02:00 = c(0, 0), 02:10 = c(0, 0), 02:20 = c(0, 0), 02:30 = c(0, 0), 02:40 = c(0, 0), 02:50 = c(0, 0), 03:00 = c(0.00173913, 0), 03:10 = c(0, 0), 03:20 = c(0, 0), 03:30 = c(0, 0), 03:40 = c(0.005217391, 0.00173913), 03:50 = c(0.00173913, 0), 04:00 = c(0, 0 ), 04:10 = c(0.003478261, 0), 04:20 = c(0, 0), 04:30 = c(0.00173913, 0.00173913), 04:40 = c(0, 0.005217391), 04:50 = c(0.005217391, 0), 05:00 = c(0, 0), 05:10 = c(0, 0), 05:20 = c(0, 0), 05:30 = c(0, 0), 05:40 = c(0, 0), 05:50 = c(0, 0), 06:00 = c(0.00173913, 0), 06:10 = c(0, 0.00173913 ), 06:20 = c(0.00173913, 0), 06:30 = c(0.005217391, 0 ), 06:40 = c(0.003478261, 0.00173913), 06:50 = c(0.00173913, 0.00173913), 07:00 = c(0, 0), 07:10 = c(0.005217391, 0), 07:20 = c(0.003478261, 0), 07:30 = c(0.003478261, 0.00173913), 07:40 = c(0.00173913, 0.00173913), 07:50 = c(0, 0), 08:00 = c(0.003478261, 0), 08:10 = c(0.00173913, 0), 08:20 = c(0.005217391, 0), 08:30 = c(0, 0), 08:40 = c(0, 0.00173913), 08:50 = c(0.003478261, 0), 09:00 = c(0.013913043, 0), 09:10 = c(0.006956522, 0), 09:20 = c(0, 0), 09:30 = c(0.003478261, 0), 09:40 = c(0, 0), 09:50 = c(0, 0.00173913), 10:00 = c(0.00173913, 0.00173913), 10:10 = c(0.005217391, 0.00173913), 10:20 = c(0.00173913, 0.00173913), 10:30 = c(0.00173913, 0.00173913), 10:40 = c(0.00173913, 0), 10:50 = c(0, 0.00173913), 11:00 = c(0.00173913, 0 ), 11:10 = c(0.006956522, 0.00173913), 11:20 = c(0, 0 ), 11:30 = c(0, 0), 11:40 = c(0, 0), 11:50 = c(0, 0 ), 12:00 = c(0.003478261, 0), 12:10 = c(0.003478261, 0), 12:20 = c(0, 0), 12:30 = c(0.00173913, 0), 12:40 = c(0.00173913, 0), 12:50 = c(0, 0), 13:00 = c(0, 0), 13:10 = c(0.005217391, 0), 13:20 = c(0, 0), 13:30 = c(0, 0.00173913), 13:40 = c(0, 0), 13:50 = c(0.005217391, 0.00173913), 14:00 = c(0.003478261, 0.00173913), 14:10 = c(0.00173913, 0), 14:20 = c(0.005217391, 0), 14:30 = c(0.00173913, 0.00173913), 14:40 = c(0.003478261, 0), 14:50 = c(0.00173913, 0), 15:00 = c(0, 0), 15:10 = c(0.005217391, 0.00173913), 15:20 = c(0, 0.00173913), 15:30 = c(0.006956522, 0), 15:40 = c(0.008695652, 0.00173913), 15:50 = c(0.003478261, 0), 16:00 = c(0.00173913, 0), 16:10 = c(0.00173913, 0 ), 16:20 = c(0.003478261, 0.00173913), 16:30 = c(0.00173913, 0), 16:40 = c(0.00173913, 0.00173913), 16:50 = c(0.005217391, 0.006956522), 17:00 = c(0.003478261, 0.00173913), 17:10 = c(0.017391304, 0), 17:20 = c(0.005217391, 0.005217391), 17:30 = c(0.005217391, 0.00173913), 17:40 = c(0.005217391, 0.00173913), 17:50 = c(0.00173913, 0.003478261), 18:00 = c(0.00173913, 0.00173913), 18:10 = c(0.010434783, 0.00173913), 18:20 = c(0.00173913, 0), 18:30 = c(0.00173913, 0.003478261), 18:40 = c(0.00173913, 0), 18:50 = c(0.00173913, 0), 19:00 = c(0.00173913, 0.00173913), 19:10 = c(0.006956522, 0), 19:20 = c(0.005217391, 0.003478261), 19:30 = c(0, 0), 19:40 = c(0, 0), 19:50 = c(0, 0.003478261), 20:00 = c(0.008695652, 0), 20:10 = c(0.006956522, 0.003478261), 20:20 = c(0.003478261, 0), 20:30 = c(0, 0), 20:40 = c(0.008695652, 0), 20:50 = c(0, 0), 21:00 = c(0.00173913, 0), 21:10 = c(0.00173913, 0 ), 21:20 = c(0, 0), 21:30 = c(0, 0), 21:40 = c(0, 0 ), 21:50 = c(0, 0), 22:00 = c(0, 0), 22:10 = c(0, 0 ), 22:20 = c(0, 0), 22:30 = c(0, 0), 22:40 = c(0, 0 ), 22:50 = c(0, 0), 23:00 = c(0, 0), 23:10 = c(0, 0 ), 23:20 = c(0, 0), 23:30 = c(0, 0), 23:40 = c(0, 0 ), 23:50 = c(0, 0)), 规格 = 结构 (list(cols = list( 持续时间 = 结构(列表(),class= c(“collector_double”, "collector")), 00:00 = structure(list(), class= c("collector_double", "collector")), 00:10 = structure(list(), class= c("collector_double", "收集器")), 00:20 = 结构(list(), class= c("collector_double", "collector")), 00:30 = 结构(list(), class= c("collector_double", "collector")), 00:40 = 结构(list(), class= c("collector_double", "collector")), 00:50 = 结构(list(), class= c("collector_double", "收集器")), 01:00 = 结构(列表(), class= c("collector_double", "collector")), 01:10 = 结构(list(), class= c("collector_double", "收集器")), 01:20 = 结构(列表(), class= c("collector_double", "collector")), 01:30 = 结构(list(), class= c("collector_double", "collector")), 01:40 = 结构(list(), class= c("collector_double", "collector")), 01:50 = 结构(list(), class= c("collector_double", "collector")), 02:00 = 结构(list(), class= c("collector_double", "collector")), 02:10 = 结构(list(), class= c("collector_double", "收集器")), 02:20 = 结构(list(), class= c("collector_double", "collector")), 02:30 = 结构(list(), class= c("collector_double", "collector")), 02:40 = structure(list(), class= c("collector_double", "收集器")), 02:50 = 结构(列表(), class= c("collector_double", "收集器")), 03:00 = 结构(列表(), class= c("collector_double", "collector")), 03:10 = 结构(list(), class= c("collector_double", "收集器")), 03:20 = 结构(list(), class= c("collector_double", "collector")), 03:30 = structure(list(), class= c("collector_double", "收集器")), 03:40 = 结构(list(), class= c("collector_double", "collector")), 03:50 = 结构(list(), class= c("collector_double", "collector")), 04:00 = structure(list(), class= c("collector_double", "collector")), 04:10 = 结构(list(), class= c("collector_double", "collector")), 04:20 = 结构(list(), class= c("collector_double", "collector")), 04:30 = 结构(list(), class= c("collector_double", "collector")), 04:40 = 结构(list(), class= c("collector_double", "collector")), 04:50 = 结构(list(), class= c("collector_double", "collector")), 05:00 = 结构(list(), class= c("collector_double", "collector")), 05:10 = 结构(list(), class= c("collector_double", "收集器")), 05:20 = 结构(list(), class= c("collector_double", "collector")), 05:30 = 结构(list(), class= c("collector_double", "collector")), 05:40 = structure(list(), class= c("collector_double", "collector")), 05:50 = 结构(list(), class= c("collector_double", "collector")), 06:00 = 结构(list(), class= c("collector_double", "collector")), 06:10 = 结构(list(), class= c("collector_double", "collector")), 06:20 = 结构(list(), class= c("collector_double", "收集器")), 06:30 = 结构(list(), class= c("collector_double", "collector")), 06:40 = 结构(list(), class= c("collector_double", "收集器")), 06:50 = 结构(list(), class= c("collector_double", "收集器")), 07:00 = 结构(list(), class= c("collector_double", "collector")), 07:10 = 结构(list(), class= c("collector_double", "collector")), 07:20 = 结构(list(), class= c("collector_double", "collector")), 07:30 = 结构(list(), class= c("collector_double", "collector")), 07:40 = 结构(list(), class= c("collector_double", "collector")), 07:50 = 结构(list(), class= c("collector_double", "collector")), 08:00 = 结构(list(), class= c("collector_double", "collector")), 08:10 = structure(list(), class= c("collector_double", "collector")), 08:20 = 结构(list(), class= c("collector_double", "collector")), 08:30 = 结构(list(), class= c("collector_double", "collector")), 08:40 = 结构(list(), class= c("collector_double", "collector")), 08:50 = 结构(list(), class= c("collector_double", "collector")), 09:00 = 结构(list(), class= c("collector_double", "collector")), 09:10 = 结构(list(), class= c("collector_double", "collector")), 09:20 = 结构(list(), class= c("collector_double", "收集器")), 09:30 = 结构(list(), class= c("collector_double", "collector")), 09:40 = 结构(list(), class= c("collector_double", "collector")), 09:50 = 结构(list(), class= c("collector_double", "collector")), 10:00 = 结构(list(), class= c("collector_double", "collector")), 10:10 = 结构(list(), class= c("collector_double", "collector")), 10:20 = 结构(list(), class= c("collector_double", "collector")), 10:30 = 结构(list(), class= c("collector_double", "收集器")), 10:40 = 结构(list(), class= c("collector_double", "collector")), 10:50 = 结构(list(), class= c("collector_double", "收集器")), 11:00 = 结构(列表(), class= c("collector_double", "收集器")), 11:10 = 结构(列表(), class= c("collector_double", "collector")), 11:20 = 结构(list(), class= c("collector_double", "collector")), 11:30 = 结构(list(), class= c("collector_double", "收集器")), 11:40 = 结构(list(), class= c("collector_double", "收集器")), 11:50 = 结构(列表(), class= c("collector_double", "collector")), 12:00 = 结构(list(), class= c("collector_double", "collector")), 12:10 = 结构(list(), class= c("collector_double", "收集器")), 12:20 = 结构(list(), class= c("collector_double", "collector")), 12:30 = 结构(list(), class= c("collector_double", "collector")), 12:40 = 结构(list(), class= c("collector_double", "收集器")), 12:50 = 结构(list(), class= c("collector_double", "collector")), 13:00 = 结构(list(), class= c("collector_double", "collector")), 13:10 = 结构(list(), class= c("collector_double", "收集器")), 13:20 = 结构(list(), class= c("collector_double", "collector")), 13:30 = 结构(list(), class= c("collector_double", "collector")), 13:40 = structure(list(), class= c("collector_double", "collector")), 13:50 = 结构(list(), class= c("collector_double", "收集器")), 14:00 = 结构(list(), class= c("collector_double", "collector")), 14:10 = 结构(list(), class= c("collector_double", "collector")), 14:20 = 结构(list(), class= c("collector_double", "collector")), 14:30 = 结构(list(), class= c("collector_double", "collector")), 14:40 = 结构(list(), class= c("collector_double", "collector")), 14:50 = 结构(list(), class= c("collector_double", "collector")), 15:00 = 结构(list(), class= c("collector_double", "collector")), 15:10 = 结构(list(), class= c("collector_double", "collector")), 15:20 = 结构(list(), class= c("collector_double", "collector")), 15:30 = 结构(list(), class= c("collector_double", "收集器")), 15:40 = 结构(list(), class= c("collector_double", "collector")), 15:50 = 结构(list(), class= c("collector_double", "collector")), 16:00 = 结构(list(), class= c("collector_double", "collector")), 16:10 = 结构(list(), class= c("collector_double", "collector")), 16:20 = 结构(list(), class= c("collector_double", "collector")), 16:30 = 结构(list(), class= c("collector_double", "collector")), 16:40 = 结构(list(), class= c("collector_double", "收集器")), 16:50 = 结构(列表(), class= c("collector_double", "collector")), 17:00 = 结构(list(), class= c("collector_double", "collector")), 17:10 = structure(list(), class= c("collector_double", "collector")), 17:20 = 结构(list(), class= c("collector_double", "收集器")), 17:30 = 结构(list(), class= c("collector_double", "collector")), 17:40 = 结构(list(), class= c("collector_double", "collector")), 17:50 = 结构(list(), class= c("collector_double", "collector")), 18:00 = 结构(list(), class= c("collector_double", "collector")), 18:10 = 结构(list(), class= c("collector_double", "collector")), 18:20 = 结构(list(), class= c("collector_double", "collector")), 18:30 = 结构(list(), class= c("collector_double", "收集器")), 18:40 = 结构(list(), class= c("collector_double", "collector")), 18:50 = 结构(list(), class= c("collector_double", "collector")), 19:00 = 结构(list(), class= c("collector_double", "collector")), 19:10 = 结构(list(), class= c("collector_double", "收集器")), 19:20 = 结构(列表(), class= c("collector_double", "collector")), 19:30 = 结构(list(), class= c("collector_double", "collector")), 19:40 = 结构(list(), class= c("collector_double", "collector")), 19:50 = 结构(list(), class= c("collector_double", "collector")), 20:00 = 结构(list(), class= c("collector_double", "收集器")), 20:10 = 结构(list(), class= c("collector_double", "collector")), 20:20 = 结构(list(), class= c("collector_double", "collector")), 20:30 = 结构(list(), class= c("collector_double", "collector")), 20:40 = 结构(list(), class= c("collector_double", "收集器")), 20:50 = 结构(列表(), class= c("collector_double", "collector")), 21:00 = 结构(list(), class= c("collector_double", "collector")), 21:10 = 结构(list(), class= c("collector_double", "collector")), 21:20 = 结构(list(), class= c("collector_double", "collector")), 21:30 = 结构(list(), class= c("collector_double", "collector")), 21:40 = 结构(list(), class= c("collector_double", "collector")), 21:50 = 结构(list(), class= c("collector_double", "collector")), 22:00 = 结构(list(), class= c("collector_double", "collector")), 22:10 = 结构(list(), class= c("collector_double", "collector")), 22:20 = 结构(list(), class= c("collector_double", "收集器")), 22:30 = 结构(列表(), class= c("collector_double", "collector")), 22:40 = 结构(list(), class= c("collector_double", "collector")), 22:50 = 结构(list(), class= c("collector_double", "collector")), 23:00 = 结构(list(), class= c("collector_double", "collector")), 23:10 = 结构(list(), class= c("collector_double", "collector")), 23:20 = 结构(list(), class= c("collector_double", "collector")), 23:30 = 结构(list(), class= c("collector_double", "收集器")), 23:40 = 结构(列表(), class= c("collector_double", "collector")), 23:50 = 结构(list(), class= c("collector_double", "collector"))), default = structure(list(), class= c("collector_guess", "collector")), skip = 1), class= "col_spec"), row.names = 1:2, class= "data.frame")

【问题讨论】:

  • 您要重命名列还是要重新排列列(更改列的顺序)?不知道“删除空白空间”是什么意思
  • @peter 重新排列顺序,谢谢;在将 2:25 移动到最后之后,我只是不想在第 1 列和第 26 列之间有任何空白。

标签: r dataframe


【解决方案1】:

试试这个

cbind(df[, -2:-25], df[, 2:25])

【讨论】:

  • 但是如果数据框有超过 145 列呢?这不能确保正确的顺序,还是这样?这只是将列块绑定到 df 的末尾,不一定在 145 之后。
  • 感谢您指出这一点。我假设数据帧不能超过 145 列,因为一天只有 24 * 60 = 1440 分钟或 144 个 10 分钟的时间间隔。一个额外的用于列Duration。我会支持你的解决方案。
【解决方案2】:

这应该更健壮。这意味着即使列数发生变化(尤其是在增长时),它也会产生相同的结果:

df_new <- cbind(df[, 1:145], df[, 2:25], df[, 146:ncol(df)]) # move a duplicate of the columns in the right position
df_new <- df_new[, -2:-25] # delete columns from original positions

【讨论】:

    【解决方案3】:

    dplyr 解决方案

    library(dplyr)
    relocate(df, 2:25, .after = 145)
    

    读起来几乎和你的问题一模一样:)

    不管有多少列,一般都将它们移到列的末尾

    df %>% relocate(2:25, .after = last_col())
    

    【讨论】:

      猜你喜欢
      • 2019-10-31
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2022-06-28
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多