簡體   English   中英

使用 mutate() 將更改應用於 R 中的列值

[英]Applying changes to column values in R with mutate()

在 StackOverflow 上搜索了一個現有的解決方案后,我決定在這里問它。

我在 dataframe 中有一個列(“time_as_dec”)

在此處輸入圖像描述

我正在嘗試通過自定義 function 填充:

datetime_to_time_as_decimal <- function(dt) {

  hour_part <- format(as.POSIXct(dt,format="%Y-%m-%d %H:%M"),"%H")
  minutes_part <- format(as.POSIXct(dt,format="%Y-%m-%d %H:%M"),"%M")
  result <- as.numeric(hour_part) + as.numeric(minutes_part)/60
  
  return(result)
  
}

當我運行以下命令時,我得到了預期的控制台 output 但沒有更新列。

library(tidyverse)
library(dplyr)

df %>%
  select(datetime) %>%
  mutate(
    time_as_dec = datetime_to_time_as_decimal(datetime)
  )

部分結果

在此處輸入圖像描述

我錯過了什么?

謝謝

根據 Gregor 在評論中的建議,我能夠更正然后重構為:

    df <- df %>%
          mutate(time_as_dec=datetime_to_time_as_decimal(df$datetime))

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM