使用此数据帧(“ df”):
year pollution
1 1999 346.82000
2 2002 134.30882
3 2005 130.43038
4 2008 88.27546
我尝试创建如下折线图:
plot5 <- ggplot(df, aes(year, pollution)) +
geom_point() +
geom_line() +
labs(x = "Year", y = "Particulate matter emissions (tons)", title = "Motor vehicle emissions in Baltimore")
我得到的错误是:
geom_path:每组仅包含一个观测值。您是否需要调整小组审美?
即使我需要折线图,该图也会显示为散点图。我尝试替换为geom_line()
,geom_line(aes(group = year))
但是没有用。
在回答中,我被告知将年份转换为因子变量。我做到了,问题仍然存在。这是输出str(df)
和dput(df)
:
'data.frame': 4 obs. of 2 variables:
$ year : num 1 2 3 4
$ pollution: num [1:4(1d)] 346.8 134.3 130.4 88.3
..- attr(*, "dimnames")=List of 1
.. ..$ : chr "1999" "2002" "2005" "2008"
structure(list(year = c(1, 2, 3, 4), pollution = structure(c(346.82,
134.308821199349, 130.430379885892, 88.275457392443), .Dim = 4L, .Dimnames = list(
c("1999", "2002", "2005", "2008")))), .Names = c("year",
"pollution"), row.names = c(NA, -4L), class = "data.frame")
可能是您的变量是因子,那么您需要将它们转换为数值
—
甜菜根
@ G.Grothendieck我贴了你说的话。我也转换为数字,仍然有问题。
—
megashigger 2014年
您确实应该以可重复的形式陈述问题。如果我们无法重新创建错误,将很难为您提供帮助。
—
Mario Becerra
df
不是您认为的那样。请以可重复的形式说明您的问题,即显示的输出dput(df)
。