R 更改循环中的对象名称并为其指定位置
我想知道是否有一种方法可以创建a1,a2,a3…a15,但在矩阵中给它一个[I,j]的位置(在R中) 例如:R 更改循环中的对象名称并为其指定位置,r,R,我想知道是否有一种方法可以创建a1,a2,a3…a15,但在矩阵中给它一个[I,j]的位置(在R中) 例如: With i=1: `a1[1,1]=1, a1[1,2]=1` 在接下来的i=2:a2[2,1]=2,a2=[2,2]=2 i=10: `a10[10,1]=10,a2[10,2]=10` 不清楚您在寻找什么-它是包含您指定值的矩阵吗?即 m <- matrix(rep(1:10, each = 15), byrow = TRUE, ncol = 15)
With i=1: `a1[1,1]=1, a1[1,2]=1`
在接下来的i=2:a2[2,1]=2,a2=[2,2]=2
i=10: `a10[10,1]=10,a2[10,2]=10`
不清楚您在寻找什么-它是包含您指定值的矩阵吗?即
m <- matrix(rep(1:10, each = 15), byrow = TRUE, ncol = 15)
rownames(m) <- paste0("a", 1:10)
> m
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
a1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
a2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
a3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
a4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
a5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
a6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
a7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
a8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
a9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
a10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
[,15]
a1 1
a2 2
a3 3
a4 4
a5 5
a6 6
a7 7
a8 8
a9 9
a10 10
m也许是这样的
a <- array(dim=c(4,4,2))
for(i in 1:4)
{
a[i,i,] <- i
}
a[1,,]
# [,1] [,2]
# [1,] 1 1
# [2,] NA NA
# [3,] NA NA
# [4,] NA NA
a[3,,]
# [,1] [,2]
# [1,] NA NA
# [2,] NA NA
# [3,] 3 3
# [4,] NA NA
a我想你在找矩阵(rep(1:10,每个=2),byrow=TRUE,ncol=2)
??谢谢Gavin…我知道问题不清楚。但我不想要a1,a1,a15或独立向量的行。我想要一个不同的矩阵:矩阵a1,矩阵a2,矩阵a15。我的问题是,我是否可以在一个循环中创建几个矩阵,然后从循环中给出一个值,在不同的矩阵中有一个特定的位置afraid@user27355例如,a1的第2行应该是什么。您的问题仅表明每个a
有一行。您如何编辑问题以显示您期望的输出!
vecs <- split(rep(1:10, each = 15), rep(1:10, each = 15))
names(vecs) <- paste0("a", seq_along(vecs))
vecs[1:3]
> vecs[1:3]
$a1
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
$a2
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$a3
[1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
a <- array(dim=c(4,4,2))
for(i in 1:4)
{
a[i,i,] <- i
}
a[1,,]
# [,1] [,2]
# [1,] 1 1
# [2,] NA NA
# [3,] NA NA
# [4,] NA NA
a[3,,]
# [,1] [,2]
# [1,] NA NA
# [2,] NA NA
# [3,] 3 3
# [4,] NA NA