R - 绘制来自 tapply 输出的数据

R - Plotting data from a tapply output

我正在做一个 R 项目,我在一个数据框中有一些数据,我在 tapply() 上使用过这些数据。

res <- tapply(NEI$Emissions, NEI$year, sum)

使用 tapply 得到以下输出:

 1999    2002    2005    2008 
7332967 5635780 5454703 3464206 

我想用 x 轴上的年份和 y 轴上的值绘制 tapply 的结果。我试过使用 plot() 函数来做到这一点:

plot(tapply(NEI$Emissions, NEI$year, sum))

但是,绘图函数的 x 轴上的值范围为 1.0 - 4.0(间隔为 0.5)。我希望 x 轴值为年份(1999、2002、2005、2008)。但是,我不确定该怎么做。

如有任何见解,我们将不胜感激。

tapply 的输出是一个数组,你可以将它转换为数据帧或使用 aggregate :

plot(aggregate(Emissions~year, NEI, sum))

如果您的 year 值是数字,它将给出连续刻度的 x 轴,您可以将其转换为因数。

temp <- aggregate(Emissions~year, NEI, sum)
temp$year <- factor(temp$year)
plot(temp)