chronオブジェクトとsapply機能のRに問題があります。私が実行した場合、今chronとsapplyでRにバグがあります
chron_start <- chron("01/01/2010", "00:30:00",origin.=c(month=1, day=1, year=1900))
ch <- chron_start+(0:(365*24-1))/24
:
> sprintf("%s", years(ch[1]))
[1] "2010"
しかし、私は私が得るsapplyで反復的にそれを実行した場合:私はデフォルトの原点を変更し
> anios <- sapply(ch, function(x){sprintf("%s", years(x))})
> anios[1]
[1] "2080"
だから、70年取得しますこれは私の起源(1900年)とデフォルト起源(1970年)の違いです。
バグレポートを送信するために、またはこの動作の説明と解決方法があるかどうかをお尋ねします。
ありがとうございます!
P .:私のRバージョンは、GNU/Linux openSUSE Leap 42.2 64ビットで動作する「Rバージョン3.4.2(2017-09-28)」です。 Chronパッケージのバージョンは2.3-45
Chron 2.3-50を使用しているWindows 7のR 3.4.1でこの現象が発生します。 –
'sapply'(' lapply'のような)は 'list'オブジェクトに作用すると考えられています。そうでなければ、as.listへの呼び出しが実行されます。 'as.list(ch)'は、起源についての指示を失うことに注意してください。だから、 '年代 'は標準のPOSIX起源(1970年1月1日)を想定します。また、あなたの例では 'sprintf("%s "、years(ch))' – nicola
を実際に試してみることもできます。実際には私よりやや複雑なので、 'sprintf("%s "、years(ch)) '私のために働かないだろう。私はちょうどforループを行うことでこれを解決しました –