从单列数据框中删除行
Posted
技术标签:
【中文标题】从单列数据框中删除行【英文标题】: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
我的代码是通用的,我不知道数据框将包含一列还是多列。对于这个问题是否有一个简单的解决方法,无论存在多少列,我都可以删除最后一行?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于从单列数据框中删除行的主要内容,如果未能解决你的问题,请参考以下文章