/ / Pokúsiť sa zoradiť dátový rámec odstráni stĺpce [duplikát] - r, triedenie, dataframe

Pokúšať sa triediť dátový rám odstráni stĺpce [duplicitné] - r, triedenie, dátový rámec

Z nejakého dôvodu pomocou funkcie order odstraňujem stĺpce v mojom dátovom rámci, ak má 2 riadky alebo menej.

> 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

Je to zamýšľaný účinok? Nechcem písať špeciálnu výnimku pre 2 alebo menej riadkov, takže to nie je niečo, čo z toho netrpí?

odpovede:

3 pre odpoveď č. 1

Vaša syntax pre zoradenie a data.frame nie je správne. Tu je príklad triedenia coredf2 podľa stĺpca end v zostupnom poradí:

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 pre odpoveď č. 2

Riešenie dplyr je tiež veľmi jednoduché:

library(dplyr)
coredf2 <- data.frame(state = "core", start = c(3 ,1), end = c(0, 2))
arrange(coredf2, desc(end))