【发布时间】:2016-07-16 12:30:18
【问题描述】:
我尝试在 R 中对数据框进行排序,但无法这样做。我有 4 列的数据框,想从第一列对数据框进行排序。任何想法,我如何从第一列的条目中对数据框进行排序?
【问题讨论】:
-
见
?order。那应该让你开始。 SO上有很多类似的问题。
标签: r
我尝试在 R 中对数据框进行排序,但无法这样做。我有 4 列的数据框,想从第一列对数据框进行排序。任何想法,我如何从第一列的条目中对数据框进行排序?
【问题讨论】:
?order。那应该让你开始。 SO上有很多类似的问题。
标签: r
我们也可以使用data.table。将“data.frame”转换为“data.table”(setDT(my.data) 并将“key”设置为“y”
library(data.table)
setDT(my.data, key = "y")
my.data
# y x1 x2 X3
#1: -0.96730746 5 FALSE e
#2: -0.31570803 2 TRUE b
#3: -0.15321836 1 TRUE a
#4: -0.08600789 3 FALSE c
#5: 1.83347490 4 FALSE d
注意:数据取自 @gung 的帖子。
【讨论】:
set.seed(5443)
(my.data <- data.frame(y=rnorm(5),
x1=c(1:5),
x2=c(TRUE, TRUE, FALSE, FALSE, FALSE),
X3=letters[1:5]))
# y x1 x2 X3
# 1 -0.15321836 1 TRUE a
# 2 -0.31570803 2 TRUE b
# 3 -0.08600789 3 FALSE c
# 4 1.83347490 4 FALSE d
# 5 -0.96730746 5 FALSE e
(my.data <- my.data[order(my.data[,1]),])
# y x1 x2 X3
# 5 -0.96730746 5 FALSE e
# 2 -0.31570803 2 TRUE b
# 1 -0.15321836 1 TRUE a
# 3 -0.08600789 3 FALSE c
# 4 1.83347490 4 FALSE d
【讨论】:
order 的工作原理和排序方式。