数据帧与数据表

FUD*_*FUD 13 r dataframe data.table

我听说各地的人都说使用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
>
Run Code Online (Sandbox Code Playgroud)

它们究竟有何不同,我应该使用哪一个?