另一个棘手的问题我无法解决。在data.frame中使用If条件
我有两个数据框(“阳光”和“霜”)。一个是每年累计日照时数,另一个是冬季极端气温(12月 - 2月)。我现在需要做的是检查Frost的这些数据框架。 在这种情况下,如果温度低于-19度,我们会谈到弗罗斯特。但是,如果一年中的日照时数超过300小时,我们就会谈到弗罗斯特 - 21度。然而,另一个先决条件是,数据帧Frost中的年份必须在当前结束时和次年(12月至2月)检查。这意味着,如果1962年日照时数超过300小时,我需要检查1962年12月到1963年2月的霜。 以下是data.frames。
"Sunshine"
year hours
1962 396
1963 290
1964 301
"Frost"
Date temperature
1962-12-26 -19.21
1963-01-13 -20.29
1963-01-17 -21.47
1964-01-31 -20.54
现在我遇到的麻烦是如何将这些结合起来,dataframes,所以它显示我只能用冰霜温度,那里的条件已经得到满足的日期。
在这种情况下,我们在1962年冬季没有发生19,21°的霜冻事件,因为年内阳光超过300小时,触发温度为-21°。 1963年1月,我们发生了霜事件,因为1962年日照时间超过了300小时,所以情况达到-21°。因为1963年的阳光超过了300小时,因此也是在1964年的霜。
1963-01-17 -21.47
1964-01-31 -20.54
有没有人有关于如何解决这个问题的想法。
你尝试过什么?我会在一年中将两个data.frames合并在一起,以便您可以将行逻辑作为开始。看看'as.Date',''strptime'和'merge'。 – Justin