简体   繁体   English

在 R 中重命名 data.table 中的一些列

[英]renaming some columns in a data.table in R

i have a large data.table with many columns with numeric values which are long (ex 64891237094518350) It is hard to read, therefore, i would like to change the format of some columns.我有一个很大的 data.table,其中有许多列的数值很长(例如 64891237094518350)很难阅读,因此,我想更改某些列的格式。 i tried :我试过 :

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

however, nothing happens.然而,什么也没有发生。 I also tried:我也试过:

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

how can i fix this?我怎样才能解决这个问题?

If we want only to do this on a subset of columns, use mutate_at如果我们只想在列的子集上执行此操作,请使用mutate_at

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

The same logic in data.table would be 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]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM