R-Project if else语法

Dou*_*Fir 5 syntax if-statement r

我正在编写一个教程,并且在语法上遇到了困难.我无法看到我出错的地方,但我从控制台收到错误消息.

我有一个目录中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")
}
Run Code Online (Sandbox Code Playgroud)

这是控制台返回的错误:

> 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 "}"
> }
Run Code Online (Sandbox Code Playgroud)

我可以看到R不喜欢我的一些'}',但无法弄清楚为什么?我的语法有什么问题?

Mat*_*erg 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")
}
Run Code Online (Sandbox Code Playgroud)


ags*_*udy 7

R中的语法错误很难在开头找到.控制台很适合测试一行代码,但在尝试编写更长的语句时它不是很有用.

我的建议是使用IDE来帮助你编写函数.为什么不试试RStudio呢?