Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 根据第三个元素对列表列表进行排序_R_Sorting - Fatal编程技术网

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) 

z
sapply
似乎能做到这一点,而且又漂亮又短。但也感谢您提供了另一种方法。谢谢。
sapply
看起来很不错,而且很短。但也感谢您提供了另一种方法。谢谢。可能的副本可能的副本