抱歉,这似乎是一个非常愚蠢的问题,但是 dataframe[ ,-1]
和 dataframe[-1]
相同,它是否适用于所有数据类型?
为什么他们是一样的
最佳答案
几乎。[-1]
使用 data.frame 是一个列表的事实,所以当你这样做时 dataframe[-1]
它返回另一个没有第一个元素(即列)的 data.frame(列表)。[ ,-1]
使用 data.frame 是二维数组的事实,所以当你做 dataframe[, -1]
时你得到不包括第一列的子数组。
先验,它们听起来是一样的,但第二种情况默认情况下也会尝试减少它返回的子数组的维数。所以取决于您的 dataframe
的尺寸你可能会得到一个 data.frame 或一个向量,例如:
> data <- data.frame(a = 1:2, b = 3:4)
> class(data[-1])
[1] "data.frame"
> class(data[, -1])
[1] "integer"
您可以使用
drop = FALSE
覆盖该行为:> class(data[, -1, drop = FALSE])
[1] "data.frame"
关于r - dataframe[ ,-1] 和 dataframe[-1] 是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21137385/