【发布时间】:2014-08-12 21:38:28
【问题描述】:
我有一个包含 4 个矩阵的列表,每个矩阵有 21 个随机数,分为 3 列和 7 行。
我想使用 lapply 函数创建新列表,其中每个矩阵按第一列排序。
我试过了:
#example data
set.seed(1)
list.a <- replicate(4, list(matrix(sample(1:99, 21), nrow=7)))
ordered <- order(list.a[,1])
lapply(list.a, function(x){[ordered,]})
但在第一步,R 给了我错误"incorrect number of dimensions"。不知道该怎么办。不过,它适用于一个矩阵。
请帮助我。谢谢!
【问题讨论】:
-
您需要为列表中的每个矩阵找到
order。这lapply(list.a, function(x) x[order(x[,1]),])有效吗? -
是的,它有效!非常感谢!
-
@user20650 IMO,您应该这样做并因提供正确答案而赢得代表。
-
@user20650 我接受了你的回答,再次感谢!
-
@beginneR;很公平,很懒