我想创建温度数据框架。
时间范围:2020-01-01 〜 2020-12-31
温度:
2020-01-01 〜 2020-02-29 和 2020-10-01 〜 2020-12-31:10〜24之间的随机整数
2020-03-01 〜 2020-05-31:5〜17之间的随机整数
2020-06-01 〜 2020-09-31:1〜8之间的随机整数 我的代码是:
时间范围:2020-01-01 〜 2020-12-31
温度:
2020-01-01 〜 2020-02-29 和 2020-10-01 〜 2020-12-31:10〜24之间的随机整数
2020-03-01 〜 2020-05-31:5〜17之间的随机整数
2020-06-01 〜 2020-09-31:1〜8之间的随机整数 我的代码是:
library(tidyverse)
library(lubridate)
library(summarytools)
library(dplyr)
start <- as.POSIXct("2020-01-01", "%Y-%m-%d", tz = "UTC")
end <- as.POSIXct("2020-12-31", "%Y-%m-%d", tz = "UTC")
remT <- seq(start, end, by = "1 day")
date_df <- as.data.frame(remT)
date_df <- setNames(date_df, c("Date"))
date_df <- date_df %>% arrange(Date)
cond_1 <- for(i in date_df$Date){(i >= as.Date('2020-01-01') && i <= as.Date('2020-02-29')) || (i >= as.Date('2020-10-01') && i <= as.Date('2020-12-31'))}
cond_2 <- for(j in date_df$Date)(j >= as.Date('2020-06-01') && j <= as.Date('2020-09-30'))
x <- sample(10:24, 152, replace=TRUE)
y <- sample(1:8, 122, replace=TRUE)
z <- sample(5:17, 92, replace=TRUE)
date_df <- date_df %>%
mutate(Test =
ifelse(cond_1, x,
ifelse(cond_2, y , z)
)
)
然而,这段代码不幸地返回了错误信息:
错误: 在 mutate()
列 Test
中出现问题。
ℹ Test = ifelse(cond_1, x, ifelse(cond_2, y, z))
。
ℹ Test
的大小必须是366或1,而不能为0。
如何解决这个错误?