尝试对数据框进行排序会删除列

时间:2018-01-09 22:56:52

标签: r sorting dataframe

由于某些原因,使用订单功能是删除数据框中的列,如果它有2行或更少。

> coredf2
state start end
1  core     3   0
2  core     1   2

> coredf2[order('end')]
state
1  core
2  core
> coredf2[-order('end')]
start end
1     3   0
2     1   2

>stateList
state start end
1  core     1   4
2  core     7  10

>stateList[order(stateList[, 'start'])]
state start
1  core     1
2  core     7

这是预期的效果吗?我不想为2行或更少的行写一个特殊的例外,那么有什么不受此影响吗?

2 个答案:

答案 0 :(得分:3)

排序data.frame的语法不正确。这是按列coredf2按降序排序end的示例:

coredf2 <- data.frame(state = "core", start = c(3 ,1), end = c(0, 2))
coredf2[order(-coredf2$end), ]
#>   state start end
#> 2  core     1   2
#> 1  core     3   0

答案 1 :(得分:1)

dplyr解决方案也非常简单:

node.js