【问题标题】:Convert temperature data from Kelvin to Celsius in multiple columns在多列中将温度数据从开尔文转换为摄氏度
【发布时间】:2023-02-24 18:12:01
【问题描述】:

我有一个包含多列开尔文温度数据的数据集。我想把它转换成摄氏度。

Sr. StationID   MaxTemp   MinTemp  MeanTemp  Prec   
1   5320         280       270       275      1.2

我正在使用此代码,它有助于仅转换一列 (MxTemp)。我想添加更多的列名。

DF %>%
  mutate(across(.cols = starts_with("MaxTemp"),.fns = function(x) x - 273.15))

【问题讨论】:

    标签: r mutate


    【解决方案1】:

    代替starts_with,你可以使用ends_with

    DF %>% mutate(across(.cols = ends_with("Temp"),.fns = function(x) x - 273.15))
    

    【讨论】:

    • 有效。非常感谢你的帮助。
    【解决方案2】:

    使用 data.table 的解决方案

    library(data.table)
    setDT(DF) # make it a data.table
    
    tcols = grep("Temp", names(DF))
    DF[, (tcols) := .SD - 273.15, .SDcols = tcols] # columns updated by reference
    

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 2015-04-14
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      相关资源
      最近更新 更多