次のような単純な関数があります。
f<-function(x){ ymd_h(x[1]) + (x[2] )}
ここではパッケージymd_h(), hours()
から使用します。lubridate
しかし、次apply
のようなメソッドからこの関数を呼び出そうとすると:
result<-apply(wind.new[,c("date","hors")],1,f)
... whereは、およびその他の列*wind.new
を含むデータ フレームです。次のエラーが表示されます。date
hors
Error in FUN(newX[, i], ...) : could not find function "ymd_h"
明らかにymd_h
中は見えませんapply()
。どうすればこれを修正できますか? 更新:実際には、以下に示すデータ フレームがあり、日付列を YYYYMMDDHH 形式に変換し、 hors列を時間として追加したいと考えています。lubridate パッケージを使用するのが最善の方法であると考え、そのために上記の関数を使用しました。しかし、実行に非常に時間がかかり、出力が正しくありませんでした。ヒントはありますか?
date hors u v ws wd
2009070100 1 2.34 -0.79 2.47 108.68
2009070100 2 2.18 -0.99 2.4 114.31
2009070100 3 2.2 -1.21 2.51 118.71
............
2009070100 47 2.3 -2.18 3.17 133.5
2009070100 48 1.93 -1.87 2.69 134.12
2009070112 1 2.77 -0.65 2.85 103.17
.........