Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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
R润滑ymd_hms至imd_hm的圆形润滑脂_R_Lubridate_Posixct - Fatal编程技术网

R润滑ymd_hms至imd_hm的圆形润滑脂

R润滑ymd_hms至imd_hm的圆形润滑脂,r,lubridate,posixct,R,Lubridate,Posixct,在我的数据帧中有一个日落时间(ymd_hms)变量,我想将其四舍五入到最近的一分钟 我尝试了以下方法,但是我的日期(POSIXct格式)没有改变 head(df$sunset) [1] "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-08 00:24:32 UTC" [5] "2018-07-08 00:24:33 UTC" "2018-07-08

在我的数据帧中有一个日落时间(ymd_hms)变量,我想将其四舍五入到最近的一分钟

我尝试了以下方法,但是我的日期(POSIXct格式)没有改变

    head(df$sunset)
    [1] "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-08 00:24:32 UTC"
    [5] "2018-07-08 00:24:33 UTC" "2018-07-08 00:24:33 UTC"

        output <- df %>%
          mutate(lubridate::round_date(sunset, unit="hour")

    head(output$sunset)
    [1] "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-22 00:20:54 UTC" "2018-07-08 00:24:32 UTC"
[5] "2018-07-08 00:24:33 UTC" "2018-07-08 00:24:33 UTC"
head(df$sunset)
[1] “2018-07-22 00:20:54 UTC”“2018-07-22 00:20:54 UTC”“2018-07-22 00:20:54 UTC”“2018-07-08 00:24:32 UTC”
[5] “2018-07-08 00:24:33 UTC”“2018-07-08 00:24:33 UTC”
产量%
突变(lubridate::round_日期(日落,单位=“小时”)
总目(产出$日落)
[1] “2018-07-22 00:20:54 UTC”“2018-07-22 00:20:54 UTC”“2018-07-22 00:20:54 UTC”“2018-07-08 00:24:32 UTC”
[5] “2018-07-08 00:24:33 UTC”“2018-07-08 00:24:33 UTC”

我需要添加什么才能使其生效?

您需要在mutate中分配更改。如果不在mutate dplyr中使用分配,则将创建一个标题与整个函数相同的列

df %>% 
  mutate(rounded_dates = lubridate::round_date(sunset, unit="minute"))
无赋值和有赋值的mutate示例,请参见最后的列名:

iris %>% 
  mutate(Sepal.Length + Sepal.Width)

    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species Sepal.Length + Sepal.Width
1            5.1         3.5          1.4         0.2     setosa                        8.6
2            4.9         3.0          1.4         0.2     setosa                        7.9
.....


iris %>% 
   mutate(addition = Sepal.Length + Sepal.Width)

    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species addition
1            5.1         3.5          1.4         0.2     setosa      8.6
2            4.9         3.0          1.4         0.2     setosa      7.9

你能发布样本数据吗?请用
dput(df)
的输出编辑问题。或者,如果问题太大,用
dput(head(df,20))
的输出编辑问题。首先,你的单位必须是分钟。现在你要四舍五入到最近的小时。此外,你还需要指定mutate,比如
df%>%mutate(四舍五入的日期=lubridates::round的日期)(sunset,unit=“minute”)
@phiver谢谢你,变异成功了!如果你把这个作为答案,我会接受的。