5

我正在学习一个教程,并且在语法方面遇到了困难。我看不到哪里出错了,但我从控制台收到错误消息。

我在一个目录中有 300 个 csv 文件的列表。用户将输入他们正在寻找信息的文件的编号(id)。格式如下:001.csv、002.csv、090.csv 250.csv 等。

该功能是将输入转换为字符串,即csv文件名。例如,如果 id 为 5,则返回 005.csv。如果输入220,输出220.csv。

这是代码:

csvfile <- function(id) {
  if (id < 10) { paste0(0,0,id,".csv"
  } else if (id < 100) {paste0(0,id,".csv"
  }else paste0(id,".csv")
}

这是控制台返回的错误:

> csvfile <- function(id) {
+ if (id < 10) { paste0(0,0,id,".csv"
+ } else if (id < 100) {paste0(0,id,".csv"
Error: unexpected '}' in:
"if (id < 10) { paste0(0,0,id,".csv"
}"
> }else paste0(id,".csv")
Error: unexpected '}' in "}"
> }

我可以看到 R 不喜欢我的一些 '}' 但不知道为什么?我的语法有什么问题?

4

2 回答 2

19

)对于前两个paste0电话,您在其中缺少一些字符:

csvfile <- function(id) {
    if (id < 10) { 
        paste0(0,0,id,".csv")
    } else if (id < 100) {
        paste0(0,id,".csv")
    } else paste0(id,".csv")
}
于 2013-01-15T14:27:23.847 回答
7

一开始很难发现 R 中的语法错误。控制台可以很好地测试一行代码,但是当您尝试编写更长的语句时它不是很有帮助。

我的建议是使用 IDE 来帮助您编写函数。为什么不试试RStudio

于 2013-01-15T14:37:32.687 回答