【发布时间】:2019-09-10 13:54:41
【问题描述】:
我希望您能支持我使用 getSunlightTimes 函数。我有一个像素级数据框(“latlon2”),其纬度(“lat”)、经度(“lon”)和一个日期(“date”)格式为 YYYY-MM-DD。数据覆盖美国大陆,我在数据框中还有一个州代码变量。
为了获取date变量作为日期类变量,我执行了:
latlon2$date=as.Date(latlon2$d2003s)
我正在尝试使用getSunlightTimes 来确定指定日期每个像素的日出和日落时间。但是,我很难让该功能正常工作。除了 R 的帮助指南之外,关于此命令的信息并不多,所以我希望你们中的一些人已经使用过它,并且可以根据我目前的方法提供您的建议。
首先我尝试使用getSunlightTimes 函数指定数据框中的每个纬度/经度/日期列
sunrise2003CET=getSunlightTimes(date="latlon2$date", lat="latlon2$lat", lon="latlon2$lon", tz="CET", keep = c("sunrise", "sunset"))
R 返回错误:
getSunlightTimes(date = "latlon2$date2", lat = "latlon2$lat", : 日期必须是 Date 对象(Date 类)
令人沮丧的是,当我查看 class(latlon2$date) R 验证该列是“日期”类时!
接下来,我尝试只指定数据框:
sunrise2003CET=getSunlightTimes(data="latlon2", tz="CET", keep = c("sunrise", "sunset"))
R 返回错误:
.buildData 中的错误(日期 = 日期,纬度 = 纬度,经度 = 经度,数据 = 数据): all(c("date", "lat", "lon") %in% colnames(data)) 不正确
这看起来很奇怪,因为我将数据框中的列命名为“date”、“lat”、“lon”,但可能错误是由于数据框中还有其他变量(例如状态码) .
我正在尝试在 15 年(和四个时区)的多个日期执行此任务,因此非常感谢任何有关如何使其运行以及高效运行的建议!
非常感谢!
科莱特
【问题讨论】:
-
澄清一下,我原来的帖子有错字。我尝试的第一个命令是 sunrise2003CET=getSunlightTimes(date="latlon2$date", lat="latlon2$lat", lon="latlon2$lon", tz="CET", keep = c("sunrise", "sunset "))
-
我将更改编辑为您的问题。其他人对其进行了编辑以进行格式化,但他们没有得到任何编辑的功劳。哦,好吧。