【发布时间】:2021-03-16 11:59:08
【问题描述】:
下午好!
假设我们有以下数据集:
Centers = structure(list(X5 = c(5, 2, 6, 5, 6, 5, 1, 1, 1, 3, 1, 1, 5),
X1 = c(4, 1, 1, 6, 10, 10, 1, 1, 1, 10, 1, 1, 1), X1.1 = c(4,
1, 1, 5, 2, 6, 1, 1, 1, 3, 1, 1, 1), X1.2 = c(5, 1, 1, 6,
8, 1, 1, 1, 2, 10, 3, 1, 6), X2 = c(7, 2, 2, 10, 10, 10,
4, 10, 1, 6, 1, 3, 3), X1.3 = c(10, 1, 1, 1, 2, 4, 3, 1,
3, 10, 3, 1, 1), X3 = c(3, 1, 3, 3, 7, 4, 1, 1, 1, 5, 1,
1, 1), X1.4 = c(2, 1, 1, 1, 8, 10, 1, 1, 1, 1, 1, 1, 1),
X1.5 = c(1, 5, 1, 1, 10, 10, 1, 1, 7, 4, 1, 1, 1), X2.1 = c(2,
2, 2, 4, 4, 4, 2, 2, 2, 4, 2, 2, 2)), row.names = c(1L, 8L,
19L, 41L, 69L, 83L, 116L, 127L, 158L, 347L, 470L, 505L, 569L), class = "data.frame")
centers data :
X5 X1 X1.1 X1.2 X2 X1.3 X3 X1.4 X1.5 X2.1
1 5 4 4 5 7 10 3 2 1 2
8 2 1 1 1 2 1 1 1 5 2
19 6 1 1 1 2 1 3 1 1 2
41 5 6 5 6 10 1 3 1 1 4
69 6 10 2 8 10 2 7 8 10 4
83 5 10 6 1 10 4 4 10 10 4
116 1 1 1 1 4 3 1 1 1 2
127 1 1 1 1 10 1 1 1 1 2
158 1 1 1 2 1 3 1 1 7 2
347 3 10 3 10 6 10 5 1 4 4
470 1 1 1 3 1 3 1 1 1 2
505 1 1 1 1 3 1 1 1 1 2
569 5 1 1 6 3 1 1 1 1 2
我正在寻找一种方法来arrange 这个数据框based on the last column X2.1。
排列数据:
df <- Centers[order(Centers[, ncol(Centers)]), ]
df
# X5 X1 X1.1 X1.2 X2 X1.3 X3 X1.4 X1.5 X2.1
# 1 5 4 4 5 7 10 3 2 1 2
# 8 2 1 1 1 2 1 1 1 5 2
# 19 6 1 1 1 2 1 3 1 1 2
# 116 1 1 1 1 4 3 1 1 1 2
# 127 1 1 1 1 10 1 1 1 1 2
# 158 1 1 1 2 1 3 1 1 7 2
# 470 1 1 1 3 1 3 1 1 1 2
# 505 1 1 1 1 3 1 1 1 1 2
# 569 5 1 1 6 3 1 1 1 1 2
# 41 5 6 5 6 10 1 3 1 1 4
# 69 6 10 2 8 10 2 7 8 10 4
# 83 5 10 6 1 10 4 4 10 10 4
# 347 3 10 3 10 6 10 5 1 4 4
之后,我需要检索以下list 输出:
list1=list(c(1,8,19,116,127,158,470,505,569),c(41,69,83,347))
此输出根据使用的数据集而变化。 (为了清楚起见,我想将此列表作为输出检索,我对与这些索引关联的行子集不感兴趣)
希望我的问题很清楚!
非常感谢您的帮助!
【问题讨论】:
-
所以您想按最后一列排序整个
data.frame(),然后获取您在list()中指定的行? -
@Base_R_Best_R,完全正确!