ggplot2和geom_errorbar()的问题
问候,, 我在使用ggplot2和geom_误差函数时遇到了困难。 我有一个包含个人(行)、大小(第1列)和密度(第2列)的数据框。我的目标是在二次模型中绘制密度对尺寸的影响。 lm(尺寸~多边形(密度,2,原始=真实)) 对于这件事,我用了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)+
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
)赋给二进制运算符(减法)会产生错误。