我想根据多年来的变化来绘制我的数据集。我的代码
df <- read.table(text = 'Year impact
2017 1
2016 0.065037954
2016 0.102155159
2015 0.030964478
2015 0.100059625
2015 0.089210196
2014 0.034352628
2014 0.080435423
2012 0.054331258
2011 0.052896022
2011 0.087341494
2010 0.025212239
2010 0.0456487
',header=TRUE)
ggplot(data=df, aes(x=Year)) +
geom_density() +
ggtitle("Test")+
xlab("Year")+
ylab("Probability")
x轴应显示年份(2017 2016 ...),y轴应显示值(最小值0和最大值1)。我的代码中有错误吗?
修改
输出dput(df)
如下:
structure(list(Yearimpact = c(20171, 20160.065037954, 20160.102155159,
20160.030964478, 20160.100059625, 20160.089210196, 20160.034352628,
20160.080435423, 20160.054331258, 20160.052896022, 20160.087341494,
20160.025212239, 20160.0456487)), .Names = "Yearimpact", class = "data.frame", row.names = c(NA,
-13L))
答案 0 :(得分:3)
使用 data.table 包中的fread()更简单,可以更快地读取大型数据集,并且通常可以减少错误。试试这个:
require(data.table)
require(ggplot2)
df <- fread("Year impact
2017 1
2016 0.065037954
2016 0.102155159
2015 0.030964478
2015 0.100059625
2015 0.089210196
2014 0.034352628
2014 0.080435423
2012 0.054331258
2011 0.052896022
2011 0.087341494
2010 0.025212239
2010 0.0456487")
如果由于某种原因需要将此数据表转换为数据框,可以使用:
df <- data.frame(df)
无论哪种方式,您都可以绘制数据图表:
ggplot(data=df, aes(x=Year)) +
geom_density() +
ggtitle("Test")+
xlab("Year")+
ylab("Probability")
输出: