R geom_smooth不会为我的数据帧绘制线条
我有一个包含以下数据的数据框R geom_smooth不会为我的数据帧绘制线条,r,ggplot2,R,Ggplot2,我有一个包含以下数据的数据框 my2016.regression.dataframe <- structure(list(Economy_Directorate = structure(c(9L, 1L, 18L, 11L, 5L, 7L), .Label = c("20128895", "25392278", "26802176", "33214069", "34194316", "34863777", "34867843", "36497785", "37280694", "37
my2016.regression.dataframe <- structure(list(Economy_Directorate = structure(c(9L, 1L, 18L,
11L, 5L, 7L), .Label = c("20128895", "25392278", "26802176",
"33214069", "34194316", "34863777", "34867843", "36497785", "37280694",
"37411816", "44460126", "45484123", "47463441", "48354697", "57954259",
"60187650", "65135916", "67317188"), class = "factor"), People_Directorate = structure(c(12L,
14L, 17L, 16L, 13L, 15L), .Label = c("20128895", "25392278",
"26802176", "33214069", "34194316", "34863777", "34867843", "36497785",
"37280694", "37411816", "44460126", "45484123", "47463441", "48354697",
"57954259", "60187650", "65135916", "67317188"), class = "factor")), .Names = c("Economy_Directorate",
"People_Directorate"), row.names = c(NA, -6L), class = "data.frame")
关于,您需要将列转换为数字类型。这些因素目前包括:
my2016.regression.dataframe$Economy_Directorate = as.numeric(as.character(my2016.regression.dataframe$Economy_Directorate))
my2016.regression.dataframe$People_Directorate = as.numeric(as.character(my2016.regression.dataframe$People_Directorate))
ggplot(data = my2016.regression.dataframe) +
geom_point(aes(y=Economy_Directorate,x=People_Directorate))+
geom_smooth(method = "lm",aes(y=Economy_Directorate,x=People_Directorate),
fill="orange",colour="red")
适用于我,您使用的是
ggplot2
和R
的哪些版本?RStdio版本1.1.383 ggplot2版本2.2.1只需一句小小的备注:您可以在主ggplot
调用中设置aes()
。您不需要在geom_point
和geom_smooth
中设置两次。请不要将数据作为简单文本添加。使用dput(my2016.regression.dataframe)
然后将输出粘贴到问题中。否则,我们无法诊断由数据格式引起的任何问题。此外,这使我们可以更轻松地导入您的数据,如果您请求帮助,只需让人们通过剪切粘贴一些完整的代码(包括library
calls)就可以复制您的问题,从而尽可能方便地为您提供帮助,这才是礼貌之举。正如我所怀疑的,您的数字列是影响因素。转换成数字,一切正常
my2016.regression.dataframe$Economy_Directorate = as.numeric(as.character(my2016.regression.dataframe$Economy_Directorate))
my2016.regression.dataframe$People_Directorate = as.numeric(as.character(my2016.regression.dataframe$People_Directorate))
ggplot(data = my2016.regression.dataframe) +
geom_point(aes(y=Economy_Directorate,x=People_Directorate))+
geom_smooth(method = "lm",aes(y=Economy_Directorate,x=People_Directorate),
fill="orange",colour="red")