R 根据第三个元素对列表列表进行排序
我有一个对象名R 根据第三个元素对列表列表进行排序,r,sorting,R,Sorting,我有一个对象名x,它是一个包含内部列表的列表 `x$population` output [[1]] [[1]][[1]] [1] 1 [[1]][[2]] [1] 11 [[1]][[3]] [1] 1 [[2]] [[2]][[1]] [1] 1 [[2]][[2]] [1] 20 [[2]][[3]] [1] 2 我希望能够根据第三个元素对列表进行排序: x$population[[2][[3]]但我不知道怎么做 我不知道如何开始,所以我没有得到一些模拟代码来重新创建问题:
x
,它是一个包含内部列表的列表
`x$population`
output
[[1]]
[[1]][[1]]
[1] 1
[[1]][[2]]
[1] 11
[[1]][[3]]
[1] 1
[[2]]
[[2]][[1]]
[1] 1
[[2]][[2]]
[1] 20
[[2]][[3]]
[1] 2
我希望能够根据第三个元素对列表进行排序:
x$population[[2][[3]]
但我不知道怎么做
我不知道如何开始,所以我没有得到一些模拟代码来重新创建问题:
z <- list()
z[[1]] <- list(1, 10, 0.5)
z[[2]] <- list(1, 10, 0.87)
z1)挑出第三个元素,获得它们的顺序,并按以下顺序在列表下标:
z[order(sapply(z, "[[", 3))]
2)另一种方法是将数据表示为矩阵a
,然后对其进行排序:
a <- sapply(z, unlist)
a[, order(a[3, ])]
a1)挑出第三个元素,获得它们的顺序,并在列表的下标:
z[order(sapply(z, "[[", 3))]
2)另一种方法是将数据表示为矩阵a
,然后对其进行排序:
a <- sapply(z, unlist)
a[, order(a[3, ])]
a显式执行:我将提取第三个元素并对其排序
我创建了一个更复杂的列表:
z <- list()
z[[1]] <- list(1, 10, 0.5)
z[[2]] <- list(1, 10, 0.87)
z[[3]] <- list(1, 10, 0.2)
z显式执行:我将提取第三个元素并对其排序
我创建了一个更复杂的列表:
z <- list()
z[[1]] <- list(1, 10, 0.5)
z[[2]] <- list(1, 10, 0.87)
z[[3]] <- list(1, 10, 0.2)
zsapply
似乎能做到这一点,而且又漂亮又短。但也感谢您提供了另一种方法。谢谢。sapply
看起来很不错,而且很短。但也感谢您提供了另一种方法。谢谢。可能的副本可能的副本