Ссылка: пытаясь ответить на этот очень простой вопрос, я вдруг понял, что я не смог отобразить rownames
в объекте data.table
Пример игрушки
library(data.table)
DT <- data.table(A = letters[1:3])
DT
## A
## 1: a
## 2: b
## 3: c
row.names(DT) <- 4:6
row.names(DT)
## [1] "4" "5" "6" # seem to work
или
rownames(DT) <- 7:9
rownames(DT)
## [1] "7" "8" "9" # seems to be ok too
Но при отображении самих данных имена строк остаются неизменными
DT
## A
## 1: a
## 2: b
## 3: c
Я бы предположил, что data.table
игнорирует ненужные атрибуты для целей эффективности, но attributes
, похоже, не согласен
attributes(DT)
# $names
# [1] "A"
#
# $row.names
# [1] 7 8 9
#
# $class
# [1] "data.table" "data.frame"
#
# $.internal.selfref
# <pointer: 0x0000000000200788>