R 2.15.2来源错误 - 意外'}' - 尝试提交作业项目

时间:2013-01-14 20:03:58

标签: r

我目前正在Coursera上做R类,任务是要求编写一个特定的函数,将代码保存到名为getmonitor.R的文件中并运行测试脚本来评估结果。

我能够编写该功能,它似乎根据输入/输出的预期执行。但是当我试图执行测试脚本时。我收到以下错误消息:

Error in source("getmonitor.R", local = TRUE) : 
  getmonitor.R:11:1: unexpected '}'
10: }
11: }
   ^
In addition: Warning messages:
1: In grepl("\n", lines, fixed = TRUE) :
  input string 19 is invalid in this locale
2: In grepl("\n", lines, fixed = TRUE) :
  input string 20 is invalid in this locale

我试过在课程社区上询问,但无法得到答案,我也无法真正发布我的代码。我希望我能在这里找到一些帮助。下面我将提供重现的步骤。

需要创建的函数定义如下:“编写一个名为'getmonitor'的函数,它接受三个参数:'id','directory'和'summarize'。给定一个监视器ID号,'getmonitor'读取监视来自'directory'参数中指定的目录的粒子物质数据,并返回包含该监视器数据的数据帧。如果'summarize = TRUE',则'getmonitor'使用'summary'函数生成数据帧的摘要,将其打印到控制台。“

以下是我的解决方案:

> getmonitor <- function(id, directory, summarize = FALSE) {
+ filename <- paste("/Users/siarhei/desktop/",directory,"/",sprintf("%03s", as.character(id)),".csv", sep="")
+ data <- read.csv(filename)
+ if (summarize == TRUE) {
+ print(summary(data))
+ }
+ }

如果我运行getmonitor(1,'specdata',TRUE),我会得到预期的输出。

然后根据课程说明运行命令save(getmonitor, file="getmonitor.R")将文件保存到我的wd。之后我运行测试脚本,即:

source("http://spark-public.s3.amazonaws.com/compdata/scripts/getmonitor-test.R")
getmonitor.testscript()

这里应该发生的是R会生成2个输出文件,我可以在线提交。但是到目前为止,我所能得到的只是一个错误。由于函数运行正常,看起来它只是读取文件时出现了一些错误,但我无法弄明白。

非常感谢这里的任何提示。如果有机会上网聊天或环聊,我会非常酷,乐于助人!

谢谢!

1 个答案:

答案 0 :(得分:2)

source是用于读取save所写对象的错误函数。 ?save中的第一段说:

  

...可以在以后通过文件从文件中读回对象   使用函数'load'(或某些情况下为'data')。