我有每日天气数据,其中包含月份、月份、年份和数据的列。但我需要为一年中的某一天添加另一列。例如 1 - 365(闰年为 366)。
我根本不是一个程序员,我熟悉 seq() 例如,seq(1, 365)
但是上面的代码将在 365 处终止。我需要在考虑年份的同时按顺序增加数字,以便序列每年都开始(并且考虑闰年)。在此示例中,所有天气数据均从 1 月 1 日开始。非常感谢任何想法/建议/指示。
编辑:示例数据
example.data <- structure(list(V1 = 1:6, V2 = c(1L, 1L, 1L, 1L, 1L, 1L),
V3 = c(1950L, 1950L, 1950L, 1950L, 1950L, 1950L),
V4 = c(NA, NA, NA, NA, NA, NA),
V5 = c(0, 0, 0, 0, 0, 0)),
.Names = c("V1", "V2", "V3", "V4", "V5"), row.names = c(NA, 6L), class = "data.frame")`
Run Code Online (Sandbox Code Playgroud)
小智 5
假设您的数据集名为df,您可以构造一个日期字段:
df$date <- as.Date(paste(df$Y, df$m, df$d, sep="-"), "%Y-%m-%d")
Run Code Online (Sandbox Code Playgroud)
然后使用%j从该日期对象获取属性:
df$day_of_year <- as.numeric(strftime(df$date, "%j"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |