意想不到的'}'当运行source()时

时间:2015-02-20 02:50:53

标签: r

我是R的新手,并且在出现意外'}'错误时已经阅读了多个关于错误的论坛。然而,似乎大多数人倾向于忘记支架或混淆它们。我无法在这里看到我的代码有什么问题。

以下是代码:

typemean <- function(directory, type, id = 1:332) {
    files_list <- list.files(directory,full.names=TRUE) ##creates a list of files
    dat<-data.frame()                                   ##creates an empty data frame
    for (i in seq_along(id)) {                          ##loops through the files in id subset, rbingind them tgt
        dat<-rbind(dat, read.csv(files_list[id[i]])) 
    }
    mean(dat[,type],na.rm=TRUE)                         ##identifies the mean of the type while removing NAs
}       

运行代码本身时,我得到了正确的答案。但是,将其保存为.R格式时,使用source()函数时会出错。

> save(typemean,file="typemean.R")
> source("typemean.R")
Error in source("typemean.R") : typemean.R:12:2: unexpected '}'
11:  mean(dat[,type],na.rm=TRUE)##identifies the mean of the type while removing NAs
12:  }
     ^
> 

1 个答案:

答案 0 :(得分:1)

save()保存函数对象的R表示,而不是源代码。您希望使用load()加载存储的对象,而不是source(),如下所示:

# save the function to file
save(typemean,file="typemean.R")
# remove it from the current environment
rm(typemean)
# load the stored function from file
load("typemean.R")
# see that we have loaded the same function
typemean