ggplot2和geom_errorbar()的问题

时间:2018-04-03 12:53:02

标签: r ggplot2

问候语, 我在使用ggplot2和geom_error函数时遇到了困难。 我有一个数据框,包括个人(行)和大小(第1列)和密度(第2列)。我的目标是在二次模型中绘制密度对尺寸的影响。 lm(size~poly(密度,2,raw = TRUE)) 就此而言,我用过。

ggplot(df, aes(x = density, y = size, col = Sexo)) + 
geom_smooth(method = lm, formula = y ~ x + I(x^2), size = 1)+                      
geom_point())

enter image description here

一切都好。但现在我想用geom_errorbar绘制相同的数据集。我试过了。

ggplot(cg.cvic, aes(x = as.factor(density), y = size, col = sex)) + 
    geom_errorbar(ymin = size-sd, ymax = size + sd))   

我谨此回应:

  

大小错误 - sd:二元运算符的非数字参数

我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先,数据框中没有列sd。此外,R具有函数sd,它是一个函数而不是变量或数字。因此,从R角度来看,您正在尝试将变量添加到函数中,因此R告诉您其中一个参数是非数字的,并且您正在尝试对其执行只能在数字上执行的操作。您已经以某种方式提取模型预测的标准偏差,将其写入数据框,然后在ggplot中使用它。并且不要将其命名为sd,请使用其他内容。