Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dplyr对润滑hms进行分类_R_Dplyr_Lubridate - Fatal编程技术网

使用dplyr对润滑hms进行分类

使用dplyr对润滑hms进行分类,r,dplyr,lubridate,R,Dplyr,Lubridate,我有一个字符串格式的时间H:M:S。我想将其转换为时间格式,然后按降序对该字段进行排序。我用lubridate和dplyr尝试了以下方法,但我无法对计时器列(在hms中)进行排序。此外,使用lubridate的hms后,柱类型变得未知。所以我不知道这是否是排序的问题,因为我也没有从mutate中获取秩列。请参见下面的示例: s108:30:40 #> 2 09:30:40 #将字符串转换为时间 图书馆(lubridate) 计时器 #>1 08:30:40 8小时30米40秒 #>2009:30

我有一个字符串格式的时间H:M:S。我想将其转换为时间格式,然后按降序对该字段进行排序。我用lubridate和dplyr尝试了以下方法,但我无法对计时器列(在hms中)进行排序。此外,使用lubridate的hms后,柱类型变得未知。所以我不知道这是否是排序的问题,因为我也没有从
mutate
中获取秩列。请参见下面的示例:

s108:30:40
#> 2 09:30:40
#将字符串转换为时间
图书馆(lubridate)
计时器
#>1 08:30:40 8小时30米40秒
#>2009:30:40 9小时30米40秒
图书馆(dplyr)
已排序的\u df%arrange(desc(计时器))%%>%mutate(秩=行号())
df
#>时钟计时器
#>1 08:30:40 8小时30米40秒
#>2009:30:40 9小时30米40秒

我们可以在“计时器”上用
包装为.numeric
,并在该输出上应用
desc

library(dplyr)
library(lubridate)
df %>% 
    arrange(desc(as.numeric(timer))) %>%
     mutate(rank = row_number())
#     clock      timer rank
#1 09:30:40 9H 30M 40S    1
#2 08:30:40 8H 30M 40S    2

我们可以在“计时器”上用
as.numeric
包装,并在该输出上应用
desc

library(dplyr)
library(lubridate)
df %>% 
    arrange(desc(as.numeric(timer))) %>%
     mutate(rank = row_number())
#     clock      timer rank
#1 09:30:40 9H 30M 40S    1
#2 08:30:40 8H 30M 40S    2

谢谢,这很有效,但你能说为什么吗?as.numeric将所有内容更改为秒或。。还有别的吗?只是好奇。@BKS它转换成存储模式数字谢谢,它可以工作,但你能说为什么吗?as.numeric将所有内容更改为秒或。。还有别的吗?只是好奇。@BKS它转换成存储模式数值