很抱歉,这似乎是一个非常愚蠢的问题,但dataframe[ ,-1]
和dataframe[-1]
相同的,并且它的所有数据类型的工作?
为什么他们是一样的
flo*_*del 25
几乎.
[-1]
使用data.frame是一个列表的事实,所以当你这样做时dataframe[-1]
,返回另一个没有第一个元素(即列)的data.frame(列表).
[ ,-1]
使用data.frame是二维数组的事实,所以当你这样做时,dataframe[, -1]
你得到的子数组不包括第一列.
先验,它们听起来是一样的,但第二种情况也默认尝试减少它返回的子阵列的维度.因此,根据您的尺寸,您dataframe
可能会获得data.frame或vector,例如,请参阅:
> data <- data.frame(a = 1:2, b = 3:4)
> class(data[-1])
[1] "data.frame"
> class(data[, -1])
[1] "integer"
Run Code Online (Sandbox Code Playgroud)
您可以drop = FALSE
用来覆盖该行为:
> class(data[, -1, drop = FALSE])
[1] "data.frame"
Run Code Online (Sandbox Code Playgroud)