在这里我正在看mtcars
数据集。
我创建了一个密度图wt
变量使用ggplot2
包裹。我也把geom_vline()
图层添加一条垂直线作为平均值wt
.
ggplot(mtcars, aes(x = wt)) +
geom_density() +
geom_vline(xintercept = mean(mtcars$wt))
然后我稍微切换一下语法,从数据帧开始,然后移动到ggplot
。我这样做是因为我想添加一个创建新变量的步骤。在这个例子中,我创建了wt2
这是wt ^ 2
.
mtcars %>%
mutate(wt2 = wt ^ 2) %>%
ggplot(aes(wt2)) +
geom_density()
我发现我无法再添加geom_vline()
使用这种新语法,以与我之前相同的方式进行分层。我做错了什么吗?
mtcars %>%
mutate(wt2 = wt ^ 2) %>%
ggplot(aes(wt2)) +
geom_density() +
geom_vline(xintercept = mean(mtcars$wt2))
现在,下面的代码创建了我想要的图表,但只有在创建新表之后才创建,这是我想避免的。我想避免这个工作流程,因为我正在处理一个大型数据集,并且它会产生内存问题来创建新表/我正在使用的环境中似乎没有空间。
mtcars_new_df %
变异(wt2 = wt ^ 2)
mtcars_new_df %>%
ggplot(aes(wt2)) +
几何密度() +
geom_vline(xintercept = 平均值(mtcars$wt2))
我想避免创建新数据框的工作流程的原因是内存和时间问题。 (我使用的数据集比mtcars
数据集。)