13

我听说到处都有人说使用 data.table 而不是 data.frame 或者您可以在使用数据框的任何地方使用 data.table,但我仍然看到很多像这样的差异

> myDF <- data.frame(x = rnorm(3), y = rnorm(3))                                                                                                                        
> myDT <- data.table(myDF)
> myDT[,1]                                                                                                                                                              
[1] 1
> myDF[,1]                                                                                                                                                              
[1] 0.6621419 0.8494085 0.6490634
> myDF[,c("x","y")]
          x          y
1 0.6621419 -1.8987699
2 0.8494085 -0.6273099
3 0.6490634  0.4566892
> myDT[,c("x","y")]
[1] "x" "y"
> myDT[,x,y]
            y         x
1: -1.8987699 0.6621419
2: -0.6273099 0.8494085
3:  0.4566892 0.6490634
> myDF[,x,y]
Error in `[.data.frame`(myDF, , x, y) : object 'y' not found
>

它们到底有什么不同,我应该使用哪一个?

4

0 回答 0