【发布时间】:2021-03-30 01:56:48
【问题描述】:
我正在尝试使用日期列表在数据框中查找相同的日期,并使用 ifelse 循环添加新列。代码如下:
library(lubridate)
df <- tibble(DateCol = seq(ymd("2021-01-01"),ymd("2021-05-31"),"days"))
df2 <- c("2021-02-04","2021-02-07","2021-02-17","2021-02-25")
for (i in 1:length(df$DateCol)) {
if (df$DateCol[i] == df2) {
df$ValueCol[i] <- "1"
} else {
df$ValueCol[i] <- "0"
return(i)
}
}
我得到的最终 df 只有 df2 的第一个日期是 df$ValueCol 中的 1。不知道如何使这个循环工作,似乎 df$DateCol[i] == df2 部分有一些错误。
【问题讨论】:
标签: r dataframe if-statement