当我尝试从单列数据帧中删除最后一行时,我得到了一个向量而不是数据帧:
> 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
我的代码是通用的,我不知道数据帧将包含一列还是多列。有没有解决此问题的简便方法,无论有多少列,我都可以删除最后一行?
最佳答案
尝试添加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
关于r - 从单列数据框中删除行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3232557/