ggplot2和geom_errorbar()的问题

ggplot2和geom_errorbar()的问题,r,ggplot2,R,Ggplot2,问候,, 我在使用ggplot2和geom_误差函数时遇到了困难。 我有一个包含个人(行)、大小(第1列)和密度(第2列)的数据框。我的目标是在二次模型中绘制密度对尺寸的影响。 lm(尺寸~多边形(密度,2,原始=真实)) 对于这件事,我用了 ggplot(df, aes(x = density, y = size, col = Sexo)) + geom_smooth(method = lm, formula = y ~ x + I(x^2), size = 1)+

问候,, 我在使用ggplot2和geom_误差函数时遇到了困难。 我有一个包含个人(行)、大小(第1列)和密度(第2列)的数据框。我的目标是在二次模型中绘制密度对尺寸的影响。 lm(尺寸~多边形(密度,2,原始=真实)) 对于这件事,我用了

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

一切顺利。但是现在我想用
geom\u errorbar
绘制相同的数据集。我试过了

ggplot(cg.cvic, aes(x = as.factor(density), y = size, col = sex)) + 
    geom_errorbar(ymin = size-sd, ymax = size + sd))   
我想回答一下:

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


我做错了什么?

首先,数据框中没有列
sd
。此外,R具有内置函数
sd
,该函数不是变量或数字。从R的角度来看,你们试图向一个函数中添加变量,所以R告诉你们其中一个参数是非数值的,你们试图对他执行只能对数字执行的操作。你已经提取出模型预测的标准偏差,写在数据框中,然后在ggplot中使用。不要给它命名为sd,用别的东西。

首先,数据框中没有列
sd
。此外,R具有内置函数
sd
,该函数不是变量或数字。从R的角度来看,你们试图向一个函数中添加变量,所以R告诉你们其中一个参数是非数值的,你们试图对他执行只能对数字执行的操作。你已经提取出模型预测的标准偏差,写在数据框中,然后在ggplot中使用。不要给它命名
sd
,使用其他名称。

根据您对数据的描述,您没有列名称
sd
。如果没有这一点,当您告诉
ggplot2
size-sd
时,它只能找到标准偏差函数
sd()
。由于减法不是为函数定义的,因此将一个非数字(函数
sd
)赋给二进制运算符(减法)时会出现错误。根据对数据的描述,您没有列名
sd
。如果没有这一点,当您告诉
ggplot2
size-sd
时,它只能找到标准偏差函数
sd()
。由于减法不是为函数定义的,因此将一个非数字(函数
sd
)赋给二进制运算符(减法)会产生错误。