Подмножество data.frame против data.table - PullRequest
0 голосов
/ 22 января 2019

Итак, я собираюсь задать свой первый вопрос здесь, и я хотел бы заранее извиниться за любую ошибку.

Я столкнулся со следующим поведением в R, и я был бы признателен за любое объяснение, почему это происходит.

Если я создаю такой фрейм данных (взятый из здесь ):

DT <- fread(
  "| Product | Class | Class_2 | Sales |
| A       | Red   | Large   | 12    |
| A       | Red   | Large   | 42    |
| B       | Blue  | Small   | 12    |
| B       | Blue  | Small   | 22    |
| C       | Blue  | Large   | 59    |
",
  sep = "|"
)[, Product:Sales]

DT
#   Product Class Class_2 Sales
#1:       A   Red   Large    12
#2:       A   Red   Large    42
#3:       B  Blue   Small    12
#4:       B  Blue   Small    22
#5:       C  Blue   Large    59 

Преобразование таблицы данных во фрейм данных, например:

DT<-as.data.frame(DT)

И попробуйте определить избыточные столбцы, как в посте выше, используя:

DT[, lapply(.SD, uniqueN)]

Это дает мне следующую ошибку:

Error in .subset(x, j) : invalid subscript type 'list'

Я пытался применить решениевышеприведенная публикация в data.frame некоторое время, и я получал вышеуказанную ошибку, прежде чем понял, что это невозможно из-за другого класса объектов.

...