【问题标题】:Remove rows from a single-column data frame从单列数据框中删除行
【发布时间】:2011-03-15 00:54:09
【问题描述】:

当我尝试从单列数据框中删除最后一行时,我得到一个向量而不是数据框:

> df = data.frame(a=1:10)
> df
    a
1   1
2   2
3   3
4   4
5   5
6   6
7   7
8   8
9   9
10 10

> df[-(length(df[,1])),]
[1] 1 2 3 4 5 6 7 8 9

我正在寻找的行为是当我在两列数据框上使用此命令时会发生什么:

> df = data.frame(a=1:10,b=11:20)
> df
    a  b
1   1 11
2   2 12
3   3 13
4   4 14
5   5 15
6   6 16
7   7 17
8   8 18
9   9 19
10 10 20

> df[-(length(df[,1])),]
  a  b
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19

我的代码是通用的,我不知道数据框将包含一列还是多列。对于这个问题是否有一个简单的解决方法,无论存在多少列,我都可以删除最后一行?

【问题讨论】:

    标签: r rows subset dataframe


    【解决方案1】:

    尝试添加drop = FALSE 选项:

    R> df[-(length(df[,1])), , drop = FALSE]
      a
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
    8 8
    9 9
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      • 2011-12-16
      • 1970-01-01
      • 2013-01-17
      相关资源
      最近更新 更多