use*_*538 15 indexing loops r vector sequence
我对R(以及一般的编程)非常陌生,并且我已经坚持这个(可能非常简单)问题几天了......
如何3 6 12 24 48 96 192 384 768用for循环制作矢量?
到目前为止,我设法提出的所有内容都是:
x=numeric()
for (i in 1:8) (x=2*i[-1])
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我认为其中一个主要问题是我不明白如何索引序列中的数字.
如果有人能指出我正确的方向,那将是一个很大的帮助!
Jac*_*ley 17
好的,你需要知道的第一件事是如何将东西附加到矢量.你想要的功能很容易append:
x <- c(1, 2)
x <- append(x, 3)
Run Code Online (Sandbox Code Playgroud)
将使向量x包含(1, 2, 3)就像你已经完成一样x <- (1, 2, 3).接下来你需要意识到的是,目标向量的每个成员都是之前的两倍,这在for循环中很容易实现
n <- 1
for (i in 1:8)
{
n <- n*2
}
Run Code Online (Sandbox Code Playgroud)
将每个循环加倍.显然,您可以通过在声明之前或之后放置其他语句,以其加倍或未加倍的形式使用它n <- n*2.
希望你可以将这两个东西放在一起,形成你想要的循环.
TMS*_*TMS 16
x=c()
x[1] = 3
for (i in 2:9) {
x[i]=2*x[i-1]
}
Run Code Online (Sandbox Code Playgroud)
真的,伙计们。坚持隐藏在 Arun 评论中的解决方案。
Rgames> 3*2^(0:20)
[1] 3 6 12 24 48 96 192 384 768
[10] 1536 3072 6144 12288 24576 49152 98304 196608 393216
[19] 786432 1572864 3145728
Run Code Online (Sandbox Code Playgroud)