if / else语句只评估else语句

时间:2017-06-17 15:19:03

标签: r if-statement nested

免责声明:这是关于Coursera课程作业的问题。

我无法想出一种方法来创建一个新列,用于区分数据集中的工作日和周末。我在for循环中使用嵌套的if / else语句。问题是输出会使每一行“工作日”结束。有没有人看到我的代码明显错误?我的最终目标是创建一个新的因子变量,即周期"或者"工作日。"

df4 <- mutate(df4, day = weekdays(df4$date))
for (i in df4$day) {
    if(i %in% c("Saturday",'Sunday')) {
        df4$day_type <- 'weekend'
    } else {
        df4$day_type <- 'weekday'
    }
}

1 个答案:

答案 0 :(得分:0)

我修改了你的一些代码。(见下文)

for (i in 1 : dim(df4)[1]) {
  if(df4$day[i] %in% c('Saturday','Sunday')) {
    df4$day_type[i] <- 'weekend'
  } else {
    df4$day_type[i] <- 'weekday'
  }
}