【问题标题】:renaming some columns in a data.table in R在 R 中重命名 data.table 中的某些列
【发布时间】:2020-02-24 18:00:55
【问题描述】:

我有一个很大的 data.table,其中包含许多数值很长的列(例如 64891237094518350)很难阅读,因此,我想更改某些列的格式。我试过了:

datatable(my_data) %>% format(c("columnA", "columnB", "columnC"),
decimal.mark = ",", big.mark = " ", small.mark = ".", small.interval = 3)

然而,什么也没有发生。我也试过:

my_data %>% format(c("columnA", "columnB", "columnC"),
decimal.mark = ",", big.mark = " ", small.mark = ".", small.interval = 3)

我该如何解决这个问题?

【问题讨论】:

    标签: r format numbers dt


    【解决方案1】:

    如果我们只想对一部分列执行此操作,请使用 mutate_at

    library(dplyr)
    my_data %>%
        mutate_at(vars(country, state, DOB),
         ~ format(., decimal.mark = ",", big.mark = " ", 
              small.mark = ".", small.interval = 3))
    

    data.table 中的相同逻辑是

    library(data.table)
    nm1 <- c("country", "state", "DOB")
    setDT(my_data)[, (nm1) := lapply(.SD, format, decimal.mark = ",", 
      big.mark = " ", small.mark = ".", small.interval = 3), .SDcols = nm1]
    

    【讨论】:

    • 列的名称更像“国家”“州”“DOB”...我可以使用匹配项(“国家”、“州”、“DOB”)吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多