我的if..else代码失败

时间:2018-03-06 09:51:30

标签: r if-statement

我想在今天的小时里玩#34;专栏上午到下午。但if..else语句不起作用。输出字段的所有值都更新为" Morning"

请参阅下面的代码,错误和数据表的详细信息: -

enter image description here

enter image description here

Code :- 

if(!is.null((uber_data$Hour_of_day>=0)&(uber_data$Hour_of_day<12))) {
uber_data$Time_of_Day <- "Morning"
} else if(!is.null((uber_data$Hour_of_day>=12)&(uber_data$Hour_of_day<19))) {
uber_data$Time_of_Day <- "Afternoon"
} else {
uber_data$Time_of_Day <- "Night" 
}

1 个答案:

答案 0 :(得分:0)

这是因为您要更改每个if / else语句中的整个列,您应该只更改适用于您的条件的行

uber_data$Time_of_Day[which(uber_data$Hour_of_day>=0)&(uber_data$Hour_of_day<12)] = "Morning"
uber_data$Time_of_Day[which(uber_data$Hour_of_day>=12)&(uber_data$Hour_of_day<19)] = "Afternoon"
uber_data$Time_of_Day[which(uber_data$Hour_of_day>=19)&(uber_data$Hour_of_day<25)] = "Afternoon"