簡體   English   中英

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

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

我有一個很大的 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)

我怎樣才能解決這個問題?

如果我們只想在列的子集上執行此操作,請使用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]

暫無
暫無

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

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