几天前,当我在R中运行for循环时,它给了我很多与“}”相关的错误。仅当我突出显示整个代码并运行它时,才会发生这种情况。如果我逐行执行它,那么它运行得很好。
我尝试了最基本的循环:
foo <- seq(1, 100, by=2)
foo.squared <- NULL
for (i in 1:50 ) {
foo.squared[i] <- foo[i]^2
}
这是控制台:
> foo <- seq(1, 100, by=2)
"rror: unexpected input in "foo <- seq(1, 100, by=2)
> foo.squared <- NULL
"rror: unexpected input in "foo.squared <- NULL
> for (i in 1:50 ){
"rror: unexpected input in "for (i in 1:50 ){
> foo.squared[i] <- foo[i]^2
"rror: unexpected input in " foo.squared[i] <- foo[i]^2
> }
Error: unexpected '}' in "}"
>
R session 的详细信息(我在RStudio中运行):
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
一直很烦人!!我将不胜感激任何建议!!!
谢谢,
玛利亚
更新:
这是我怀疑会导致此问题的最开始的代码。应该采用名称 vector ,并从中提取第二个元素。
splitnames <- strsplit(as.character(train$Name),"[,.]")
firstelement <- function(x){x[2]}
sapply(splitnames,firstelement)
在我执行它之后,R行为很奇怪。虽然我不确定100%。
最佳答案
我遇到了同样的问题,并且发现它是由RStudio中的错误引起的(代码在R和R-gui中运行良好,但在RStudio中失败。)直到在RStudio的保存文件中损坏某些东西之前,它很难重现。状态,之后的行为是相当一致的。
删除~/.rstudio-desktop
对我来说解决了这个问题。
mv ~/.rstudio-desktop ~/rstudio-desktop.old
有关在各种平台上重置RStudio的状态的更多信息here.
关于r - R “for loop”错误消息{},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22133908/