2011-06-30 8 views
-1

私はRを使用しています。またはRを使い始めています。forループを使用してスクリプトを作成しましたが、その結果に満足しています。Rコードから分離する

ここで私が問題になるのは、実際に私が4行に興味を持っているとき、私はすべてのコード行(約150行)をコンソールに持っているということです。

要求された行だけを見るためにコンソールをクリーニングする方法はありますか?すべてのコードではありませんか?そうでなければ、私はそれらをcsvファイルに保存し、csvファイルにアクセスしてスクリプトの結果を確認することを考えていますが、それは効率的ではありません。事前に

おかげ

ザビエル

+3

いくつかの質問:どのエディターを使用していますか?あなたはどのようにRに回線を送りますか?あなたはRtermやRguiで働いていますか?あなたはもっと具体的にする必要があります。 –

答えて

7

私はこれがあなたの「結果」はコンソールであり、そしてすべての残りの部分は、「コード」本当にあるかどうかをどのように依存するように期待しています。これらの4行はcat/printステートメントの結果ですか?その後、?sinkを見て結果をファイルに送信することができます。

これらの結果を変数(リストなど)に保存し、すべての計算の最後にこのリストを印刷することもできます。それ以降は分離が容易でなければなりません。

+0

はい彼らはcat/printです。ありがとうございます – Xavier

+1

私はニックの答えに同意します - あなたは複数の将来の機会に同じ種類の結果が必要な場合は、実際にあなたのコードバッファに関連情報を変数に入れてください。素早く汚れたワンオフソリューションが必要な場合は、シンクを使用することをお勧めします。結果ファイルで 'grep'や検索ツールを実行するだけです。 – Sasha

4

あなたはコンソールエディタではなく、スクリプトエディタでコードを書いていますか?別のオプションは、スクリプト全体を実行するが、コンソールには表示されない(出力のみ)スクリプトにsource()を使用することです。 RStudio(R:http://rstudio.org/用に使用することを強くお勧めします)には、「このファイルのソース」ボタンなどがあります。

さらに重要なことに、Rに結果を明確に返すことは、Rでプログラムする方法を学ぶ上で大きな部分を占めます。スクリプトを他の人にも分かりやすくしたい!解決策の中には、コードチャンクをfunctionにする方法や、Nickが結果をlistに格納する方法などがあります。

3

は私にとっては、私は効果的にそれが実行されると、コンソールからコードを隠すだろう機能、にあなたのコードを入れてしまうと、変数に、コードの結果を保存し、ファイルにそれを保存し

foo <- function(x) { 
    result<-0 
    for(i in 1:length(x)){ 
     result<-result+x[i] 
    } 
    return(result) 
} 

bar <- foo(x=c(2,3,4,5,4,3,2,3,4,5)) 
write.csv(bar, "resultfile.csv") 
関連する問題