我有一个像这样的简单功能:
f<-function(x){ ymd_h(x[1]) + (x[2] )}
在这里我ymd_h(), hours()
从lubridate
包中使用。但是当我尝试从apply
这样的方法调用这个函数时:
result<-apply(wind.new[,c("date","hors")],1,f)
...和其他列*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
…………