【发布时间】:2013-01-02 05:15:35
【问题描述】:
我对 R(和一般编程)非常陌生,几天来我一直被这个(可能非常简单)问题困住......
如何使用for 循环制作矢量3 6 12 24 48 96 192 384 768?
到目前为止,我想出的只是以下几点:
x=numeric()
for (i in 1:8) (x=2*i[-1])
但是,这不起作用。我认为主要问题之一是我不明白如何按顺序索引数字。
如果有人能指出我正确的方向,那将是一个很大的帮助!
【问题讨论】:
-
从@Arun 的建议开始:最好从
x <- rep(NA,9); x[1] <- 3开始,然后执行for循环。最好预先分配一个正确长度的向量,而不是每次都追加一个新元素,因为如果追加,R 将需要进行大量的内部重新排列和内存分配。 (这当然只对较大的向量有影响,但是用长度为 1,000,000 的向量尝试两种方式。) -
@Arun:当然明白。我猜你的意思是
x <- 3*2^(0:8),对吧? ;-)
标签: r loops vector indexing sequence