переименование некоторых столбцов в data.table в R - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть большая таблица данных со многими столбцами с числовыми значениями c, которые являются длинными (например, 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)

как я могу это исправить?

1 Ответ

0 голосов
/ 24 февраля 2020

Если мы хотим сделать это только для подмножества столбцов, используйте mutate_at

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

Тот же лог c в 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]
...