r - dataframe[ ,-1] 和 dataframe[-1] 是一样的吗?

标签 r dataframe

抱歉,这似乎是一个非常愚蠢的问题,但是 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/

相关文章:

json - Pandas:将 JSON 转换为 Pandas Dataframe

python - 比较数据框中的列并将其放入另一个数据框中

python - 如何根据分类列对 pandas 数据框进行洗牌

c++ - fatal error : auc_.cpp:2:10: fatal error: omp.h: No such file or directory

r - 在Hadoop上运行wordcount R示例代码时出错

r - R 中的字符串分割

python - 所有特征必须在 [0, 9] 或 [-10, 0] 范围内

Python绘图y轴平均标签不会显示并且日期都很拥挤

r - 用乘法添加行

r - 从数据框中的列中添加和减去值