我出于同样的原因继续讨论这个问题,但是关于SO的问题似乎没有我一直需要的答案,所以我发布这个问题并回答以防万一它能帮助别人。< / p>
情境设置
我已经将csv文件作为data.frame加载并用一些dplyr清理它。为了简洁,显然使用管道%>%
。
我使用以下行代码设置数据文件:
raw.data <- read_csv('myfile.csv')
cleaned.data <- raw.data %>%
select(date, columns, I, care, about) %>%
filter(columns == "criteria") %>%
group_by(date, columns) %>%
summarize(analysis.value = statistic())
现在,我已经准备好创建一个analysis.value
对date
和columns
的图形,所以我换了齿轮并准备好使用ggplot。我的代码看起来像这样:
cleaned.data %>%
ggplot(aes(x = date)) %>%
geom_line(aes(y = analysis.value, col = columns))
...我希望在x轴上生成date
的线图,在y轴上生成analysis.value
,并根据columns
生成单独的彩色线条
但是,我只是不断收到此消息:
Error: ggplot2 doesn't know how to deal with data of class uneval
无论我做什么,我都会继续收到相同的消息
答案 0 :(得分:0)
事实证明,当我一直没有设置ggplot功能时,总是, 总是 .. 。忘记ggplot没有使用%>%
管道符来链接函数!
而不是%>%
我应该将+
放在我的ggplot函数之间。
总结:
<强> BAD 强>
cleaned.data %>%
ggplot(aes(x = date)) %>%
geom_line(aes(y = analysis.value, col = columns))
不可强>
cleaned.data %>%
ggplot(aes(x = date)) +
geom_line(aes(y = analysis.value, col = columns))
我总是疯狂地搜索大约20分钟,最终意识到我再次犯了同样的错误 。