0

就像标题说的那样,我需要一个 for 循环,它将写入从 1 到 200 的每个数字,并除以 3。

4

3 回答 3

3

到目前为止发布的所有其他方法都会生成 1:200 向量,然后丢弃其中的三分之二。多么浪费。为了具有生态意识,这种方法不会浪费任何电子:

seq(3,200,by=3)
于 2013-02-09T08:44:40.707 回答
1

其他两种选择:

c(1:200)[c(F, F, T)]
c(1:200)[1:200 %% 3 == 0]
于 2013-02-09T04:07:25.340 回答
1

您不需要 for 循环,match而是使用函数,如:

which(1:200 %% 3 == 0)
 [1]   3   6   9  12  15  18  21  24  27  30  33  36  39  42  45  48  51  54  57  60  63  66  69  72  75  78  81
[28]  84  87  90  93  96  99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162
[55] 165 168 171 174 177 180 183 186 189 192 195 198
于 2013-02-09T02:02:03.593 回答