-3

私は現在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

私はCourseraコミュニティに質問しようとしましたが、答えを得ることができませんでした。また、実際にコードを投稿することもできません。ここで助けが得られることを願っています。以下に、再現する手順を示します。

作成する必要のある関数は次のように定義されます。「「id」、「directory」、「summarize」の3つの引数を取る「getmonitor」という名前の関数を記述します。モニターID番号を指定すると、「getmonitor」はそのモニターの粒子を読み取ります。 'directory'引数で指定されたディレクトリからデータを処理し、そのモニターのデータを含むデータフレームを返します。' summary = 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つの出力ファイルを生成し、それをオンラインで送信できることです。しかし、これまでに得られたのは上記のエラーだけです。関数が正常に動作しているので、ファイルの読み取りエラーのようですが、わかりませんでした。

ここでのヒントに本当に感謝します。チャットやハングアウトでそれを理解するためにオンラインに接続する機会があれば、私は非常にクールで役に立ちます!

ありがとう!

4

1 に答える 1

2

sourceによって書き込まれたオブジェクトを読み取るために使用する関数は正しくありませんsave。の最初の段落は次のように?save述べています。

... 関数 'load' (または場合によっては 'data') を使用して、後日ファイルからオブジェクトを読み戻すことができます。

于 2013-01-14T20:10:22.777 に答える