mylist <- list(matrix(c(1, 3, -1, 0, 2, 1), nrow = 2, byrow = TRUE),
               matrix(c(-2, 0, 10, 1, 2, 9, 2, 0, 0), nrow = 3, byrow = TRUE))
> mylist
[[1]]
     [,1] [,2] [,3]
[1,]    1    3   -1
[2,]    0    2    1

[[2]]
     [,1] [,2] [,3]
[1,]   -2    0   10
[2,]    1    2    9
[3,]    2    0    0

我有一个名为mylist的矩数组表,其中矩阵的维数可能不同.对于每个矩阵,我希望将行值加倍,并将其作为新行插入下方.我想要的结果如下:

[[1]]
     [,1] [,2] [,3]
[1,]    1    3   -1
[2,]    2    6   -2
[3,]    0    2    1
[4,]    0    4    2

[[2]]
     [,1] [,2] [,3]
[1,]   -2    0   10
[2,]   -4    0   20
[3,]    1    2    9
[4,]    2    4   18
[5,]    2    0    0
[6,]    4    0    0

推荐答案

在一个lapply-repeat的例子中,使用seq_lennrow找到每一行索引,并重复乘以1:2.

lapply(mylist, \(x) x[rep(seq_len(nrow(x)), each=2), ]*1:2)
# [[1]]
#      [,1] [,2] [,3]
# [1,]    1    3   -1
# [2,]    2    6   -2
# [3,]    0    2    1
# [4,]    0    4    2
# 
# [[2]]
#      [,1] [,2] [,3]
# [1,]   -2    0   10
# [2,]   -4    0   20
# [3,]    1    2    9
# [4,]    2    4   18
# [5,]    2    0    0
# [6,]    4    0    0

R相关问答推荐

在之前合并的数据.tables中分配新列后.internal.selfref无效

如何替换某个字符的所有出现,但如果该字符是字符串中的第一个,则不替换?

R gtsummary tBL_summary,包含分层和两个独立分组变量

将带有范围的字符串转换为R中的数字载体

查找具有平局的多个列的最大值并返回列名或平局 destruct 者NA值

计算R中的威布尔分布的EDF

R Tidymodels textercipes-使用spacyR进行标记化-如何从生成的标记列表中删除标点符号

用预测NLS处理R中生物学假设之上的误差传播

如何通过Docker部署我的shiny 应用程序(多个文件)

将数字转换为分钟和秒

将饼图插入条形图

在ggplot2的框图中绘制所有级别的系数

从圆到R中的多边形的标绘雷达图

当我添加美学时,geom_point未对齐

使用RSelenium在R中抓取Reddit时捕获多个标签

条形图顶部与其错误条形图不对齐

为什么在BASE R中绘制线条时会看到线上的点?

按组内中位数分类

R:使用ApexCharge更改标签在饼图中的位置

如何使投篮在R中保持一致