使用 system.time() 对 R 代码计时时出现“未找到对象”和“意外符号”错误

Gog*_*sSA 5 r

我正在阅读这本书:《R 编程实践》。以下代码是直接从书中粘贴的,但不会在 RStudio 中运行,我试图理解为什么。

system.time(
output <- rep(NA, 1000000) for (i in 1:1000000) {
        output[i] <- i + 1
      }
)
Run Code Online (Sandbox Code Playgroud)

我明白了:

> system.time(
+     output <- rep(NA, 1000000) for (i in 1:1000000) {
Error: unexpected 'for' in:
"system.time(
    output <- rep(NA, 1000000) for"
>         output[i] <- i + 1
Error: object 'i' not found
>     }
Error: unexpected '}' in "    }"
> )
Error: unexpected ')' in ")"
Run Code Online (Sandbox Code Playgroud)

李哲源*_*李哲源 6

首先,失踪了;。其次,我们需要{}所有的表达方式。

system.time({
output <- rep(NA, 100); for (i in 1:100) {
        output[i] <- i + 1
      }}
)
Run Code Online (Sandbox Code Playgroud)

  • 作为解释,`system.time` 接受“单个表达式”。您可以通过将块包装在“{}”中来强制它将多个表达式视为单个表达式。 (2认同)