我目前有两个矩阵:

      [,1]
[1,]    0
[2,]    5
[3,]    1

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

it is possible to move rows automatically horizontal to the right by step of number on first matrix 和 all empty site complete 0? The result will be like that:

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    0    0    1    0    0    0    0    0
[2,]    0    0    0    0    0    0    9    9
[3,]    0    1    1    1    0    0    0    0

推荐答案

您可以将mapply()append()结合使用:

t(mapply(append, asplit(mat2, 1), mat1,
         MoreArgs = list(x = rep(0, max(mat1)))))

#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
# [1,]    0    0    1    0    0    0    0    0
# [2,]    0    0    0    0    0    0    9    9
# [3,]    0    1    1    1    0    0    0    0

Data
mat1 <- matrix(c(0, 5, 1))
mat2 <- matrix(c(0, 0, 1, 0, 9, 1, 1, 9, 1), 3)

R相关问答推荐

R的GG平行坐标图中的排序变量

次级y轴R gggplot2

Highcharter多次钻取不起作用,使用不同方法

如何从当前行上方找到符合特定条件的最接近值?

将非重复序列高效转换为长格式

在df中保留原始变量和新变量

非线性混合效应模型(NLME)预测变量的置信区间

我如何才能找到FAMILY=POISSON(LINK=&Q;LOG&Q;)中的模型预测指定值的日期?

R—将各种CSV数字列转换为日期

具有重复元素的维恩图

函数可以跨多个列搜索多个字符串并创建二进制输出变量

将项粘贴到向量中,并将它们分组为x的倍数,用空格分隔

如何将这个小列表转换为数据帧?

将列表中的字符串粘贴到R中for循环内的dplyr筛选器中

如何提取R中其他字符串和数字之间的字符串?

Rmarkdown::Render vs Source()

如何根据其他列中的两个条件来计算数据帧中的行之间的差异?

Ggplot2:添加更多特定 colored颜色 的线条

对计算变量所有唯一值的变量进行变异

Package emMeans:如果emmip模型中包含的变量较少,emMeans模型中的其他变量设置为什么?