我想在今天的小时里玩#34;专栏上午到下午。但if..else语句不起作用。输出字段的所有值都更新为" Morning"
请参阅下面的代码,错误和数据表的详细信息: -
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"
}
答案 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"