2017-08-02 9 views
0

for loop to output different objects in rとほぼ同じ問題がありますが、ここで解決策を検討しても得られません(ごめんなさい): オブジェクトを作成したいのですが)カレンダー年に応じて。 Rオブジェクトをループの形で作成します。

は、私が数として実際の年作成:

now<-Sys.time() 
actualyear<-strftime(now, format="%Y") 
actualyear<-as.numeric(actualyear) 
class(actualyear) 

私は7つのオブジェクトを作成する。この場合にはtest2011、test2012、test2013、....コンテンツとしてequivilantカレンダー年とtest2017(test2011 <命名 - 2011年、test2012 <から2012、....)

for(i in 2011:actualyear) {test[[i]]<-i} 
+0

要素を持つリストを作成します(名前を付けることができます)。私の助言は、 'assign'の使用を避け、オブジェクトでワークスペースを乱雑にすることです。リストはこのようなコーディングの練習を避けるのに最適です。 –

+0

あなたのコード 'names(test)= paste(" test "、2011:actualyear)' –

+0

の後ろに 'paste 'の代わりに' paste0'を使うといいでしょう。引数を折りたたむことなく 'paste'関数を使うと、名前の間にスペースが入ります。これらの名前はプログラミングには推奨されません。したがって、より良い使い方: 'names(test)= paste0(" test "、2011:actualyear)' – Onyambu

答えて

3

としては、コメントで指摘し、あなたが名前に値を割り当てることができassign

for(i in 2011:actualyear) { 
    assign(paste0("test", i), i) 
} 
関連する問題