ggplot2 error: missing value where TRUE/FALSE needed. I have no idea

ggplot2 error: missing value where TRUE/FALSE needed. I have no idea

我正在 Udemy 上在线 R class,这里是线性回归可视化的代码。我从上一个命令收到错误消息。共享单车网站数据:https://www.kaggle.com/c/bike-sharing-demand/data

数据如下:

bike <- read.csv("train.csv")
library(ggplot2)
bike$datetime <- as.POSIXct(bike$datetime)
pl <- ggplot(bike, aes(datetime, count)) + geom_point(aes(color = temp),alpha = 0.5)
pl
print(pl)
pl + scale_color_continuous(low='#55D8CE',high='#FF6E2E') +theme_bw()
cor(bike[,c('temp','count')])
ggplot(bike,aes(factor(season),count)) + geom_boxplot(aes(color=factor(season))) +theme_bw()
bike$hour <- sapply(bike$datetime,function(x){format(x,"%H")})
library(dplyr)
pl <- ggplot(filter(bike,workingday==1),aes(hour,count)) 
pl <- pl + geom_point()
pl
pl <- pl + scale_color_gradientn(colours = c('dark blue','blue','light blue','light green','yellow','orange','red'))

pl 看起来像: 当我尝试添加颜色时,我从上一条命令中收到错误消息: if (!alpha || all(lab_in[ 4] == 1)) { 出错: TRUE/FALSE 需要

的缺失值

我不知道如何解决这个问题,有人可以帮忙吗?太感谢了。

如果你想为不同的时间添加不同的颜色,你可以这样做

library(dplyr)
library(ggplot2)

ggplot(filter(bike,workingday==1),aes(hour,count, color = hour)) + geom_point()

我在这里遇到了同样的错误。将带有 space 的颜色词更改为十六进制代码为我解决了这个问题,例如我用了 scale_colour_gradientn(colours=c("#000066","blue","#b0cceb","#6dcf72","yellow","orange","red"))