2017-01-24 13 views
-1

あなたはうまくやってくれることを祈っています。forループを利用してR

私は簡単な質問があります。私は出力になりたい何

for(i in 2:49){ 
    PriceFun[i] = approxfun(data[i]$FUEL_PRICE_REAL ~ data[i]$dd) 

    PriceFromDate[i] = function(x) { 
    round(PriceFun[i](x), 3) } 
} 

:ここに私のコードです

PriceFun2 = approxfun(data2$FUEL_PRICE_REAL ~ data2$dd) 

PriceFromDate2 = function(x) { 
    round(PriceFun2(x), 3) } 

PriceFun3 = approxfun(data3$FUEL_PRICE_REAL ~ data3$dd) 

PriceFromDate3 = function(x) { 
    round(PriceFun3(x), 3) } 

のように...

は間違って私の構文ですか?私はめったに使用しないR

ありがとうございました。

+1

[Rの再現性の高いサンプルを作成する方法](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を参照してください。書かれているように、あなたが何を求めているのかははっきりしていません。いくつかのサンプルデータを表示することができれば、data.framesのリスト( 'data 'があなたのリストであれば' data [[i]])やwhatをループするかどうかを理解するのに役立ちます。 – C8H10N4O2

+0

私の質問はかなり明確だと思いました。構文解析ではなく、構文に問題があります。私は単に、Rでforループを使用する方法を私の例と混同しました。 –

+0

私たちに 'str(data)'を表示してください。誰も助けてくれる人はいません。 – C8H10N4O2

答えて

0

1)「データ」と「PriceFun」のデータタイプに関する詳細情報はありますか?それらがリストの場合は、forループの前に空リストを作成しましたか?

2)ループ内の関数の本体が構文エラーを引き起こすと思います。リストの要素を呼び出す場合は、()の代わりに角かっこ[]を使用してみてください。

3)丸(PriceFun [i]、3)を使用するだけで、列全体を丸めることができます。

+0

PriceFunルックスは次のようなデータを補間します: 'data1 [date] [fuel price] [1、] 01/15/2010 3.56 [2] 2010年1月17日3.32 [3] 2010年3月18日3.45 [4] 2010年4月20日3.94 [4] 2010年4月25日3.94 ' それにISNリストはありません。私は単にforループを使って新しい変数を作りたいだけです。 –

関連する問題