r - 根据时间步长对数据进行排序?

标签 r dataframe

有人可以帮我解决这个问题吗,我需要按递增顺序对数据集的时间进行排序。我该怎么做?

Input:
 
11:00 02:40 05:50 03:20
 1     1     1     1
 0     1     1     1
 0     1     1     1

Output:

 02:40  03:20  05:50  11:00
    1    1     1       1
    1    1     1       0
    1    1     1       0


Sample data:

  
 df<-structure(list(c("11:00", 1, 0, 0),
                       c("02:40", 1, 1, 1), c("05:50", 1, 1, 1), c("03:20",  1,  1,1)), row.names = c(NA,4L), class = "data.frame")
                                      

                                                                                  

最佳答案

使用chronorder

df[order(chron::times(paste0(df[1,], ":00")))]
#1 02:40 03:20 05:50 11:00
#2     1     1     1     1
#3     1     1     1     0
#4     1     1     1     0

关于r - 根据时间步长对数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63919235/

相关文章:

r - 如何标记 r 列中两个特定字符值之间的所有行?

python - Pandas 使用多索引列取消堆叠

python - Pyspark:将不同表中的列相乘

r - 根据ID取差

r - 我应该使用 data.frame 还是矩阵?

r - 如何命名 data.frame 的未命名第一列

python - 如何仅设置 pandas 数据框最后一行的样式?

python - 通过 pandas vs pyarrow 转换模式

python - 在 groupby 之后使用数据框列连接另一列的值

r - 在 R 中使用 hist() 函数来获取百分比而不是原始频率