用'rep()'和'seq()生成12345643456786789`
我在创建向量时遇到问题用'rep()'和'seq()生成12345643456786789`,r,R,我在创建向量时遇到问题 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 使用rep()和seq()。谁能给我一个提示吗?我们可以用 rep(1:5, times = 5) + rep(0:4, each = 5) # [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 或更简单(因为R将自动循环1:5): 有没有办法用命令seq 1:5只是seq(1,5),而0:4是seq(0,4)
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9
使用rep()
和seq()
。谁能给我一个提示吗?我们可以用
rep(1:5, times = 5) + rep(0:4, each = 5)
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9
或更简单(因为R将自动循环1:5
):
有没有办法用命令seq
1:5
只是seq(1,5)
,而0:4
是seq(0,4)
啊,对于那些感兴趣的人,我们也可以使用
outer
:
as.numeric(outer(1:5, 0:4, "+"))
对outer
的初始调用生成以下矩阵:
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 2 3 4 5
#[2,] 2 3 4 5 6
#[3,] 3 4 5 6 7
#[4,] 4 5 6 7 8
#[5,] 5 6 7 8 9
然后我们使用as.numeric
将其展平。kronecker(1:5,0:4,“+”)
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 2 3 4 5
#[2,] 2 3 4 5 6
#[3,] 3 4 5 6 7
#[4,] 4 5 6 7 8
#[5,] 5 6 7 8 9