示例数据:
list.data <- list(matrix(seq(1,30,2),5,3),matrix(seq(1,10,2),5,2))
NumOnly <- lapply(list.data, function(x) x[,2:ncol(x), drop = FALSE])
转置矩阵
TranData <- lapply(NumOnly, function(x) t(x))
反转/翻转订单
DataModel <- lapply(TranData, function(x) ifelse(nrow(x)==1,x,apply(x, 2, rev)))
head(DataModel)
如何将row>1
和row==1
的矩阵的行顺序反转为最初。
以上DataModel
输出仅以某种方式提供了第一个条目......
我想得到:
[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 21 23 25 27 29
[2,] 11 13 15 17 19
[[2]]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
答案 0 :(得分:3)
我会在rev
中使用[
,如下所示:
> lapply(TranData, function(x) x[rev(sequence(nrow(x))), , drop = FALSE])
[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 21 23 25 27 29
[2,] 11 13 15 17 19
[[2]]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9