これはスタックオーバーフローに関する私の最初の質問であり、私は初心者の R プログラマーです。1985年から2012年までの値を持つ列「年」があるデータフレームがあります。これらはデフォルトでcsvファイルから要素としてインポートされます(これが最初の問題かもしれません)。日付が 2008 年よりも大きいすべての行の値が 1 である新しいベクター "Modern" を作成したいと考えています。別の言い方をすれば、2009 年から 2012 年までのすべてのデータを "1" で示したいということです。
これが私の現在の解決策です:
yearnum<-as.Date(year,format="%Y")
Modern<-ifelse(yearnum>"2008-12-30",1,0)
動作しますが、いくつか質問があります。1.as.numeric
関数を使用してみましたが、2006 のような値ではなく、1 から始まる年ごとに番号が付け直されました。なぜですか? 2.as.Date
関数を使用してしまったため、R はデフォルトで月と日を今日の月と日に設定しました。年だけを保持するか、少なくとも 1/1/yyyy を記録することで、それを回避できたでしょうか?
前もって感謝します。