高效 R 代码写作
Colin Gillespie
Jumping Rivers & Newcastle University

// C 代码:为一个数申请内存
x = (double *) malloc(sizeof(double));
// 释放内存
free(x);
$$ 1, 2, \ldots, n $$
## 方法 1
x <- 1:n
## 方法 2
x <- vector("numeric", n) # 长度 n
for(i in 1:n)
x[i] <- i
## 方法 3
x <- NULL # 长度为 0
for(i in 1:n)
x <- c(x, i)
1:nn |
1 | 2 | 3 |
|---|---|---|---|
| $10^5$ | 0.00 | 0.02 | 0.2 |
| $10^6$ | 0.00 | 0.2 | 30 |
| $10^7$ | 0.00 | 2 | 3800 |

R 俱乐部第一条规则:永远不要让向量"长个儿"。
高效 R 代码写作