我的if..else代码失败了

问题描述 投票:-6回答:1

我想把我的“一天中的小时”专栏打到上午和下午。但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" 
}
r if-statement
1个回答
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"
© www.soinside.com 2019 - 2024. All rights reserved.