子集data.frame与data.table

时间:2019-01-22 12:47:12

标签: r subset

因此,我将在这里提出我的第一个问题,如果发生任何错误,我想提前致歉。

我在R中遇到以下行为,请多加解释为什么会发生。

如果我创建这样的数据框(取自here):

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一段时间,但在意识到由于对象类不同而无法实现之前,我遇到了以上错误。

0 个答案:

没有答案