问候语, 我在使用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())
一切都好。但现在我想用geom_errorbar
绘制相同的数据集。我试过了。
ggplot(cg.cvic, aes(x = as.factor(density), y = size, col = sex)) +
geom_errorbar(ymin = size-sd, ymax = size + sd))
我谨此回应:
大小错误 - sd:二元运算符的非数字参数
我做错了什么?
答案 0 :(得分:1)
首先,数据框中没有列sd
。此外,R具有函数sd
,它是一个函数而不是变量或数字。因此,从R角度来看,您正在尝试将变量添加到函数中,因此R告诉您其中一个参数是非数字的,并且您正在尝试对其执行只能在数字上执行的操作。您已经以某种方式提取模型预测的标准偏差,将其写入数据框,然后在ggplot中使用它。并且不要将其命名为sd
,请使用其他内容。