问题描述
我真的不知道为什么我不能让它工作,我尝试了很多我在网上找到的不同的东西都无济于事。这是我开始的数据:
structure(list(Date = structure(c(16923,16924,16925,16930,16931,16932),class = "Date"),bfolioTotalInvNZ = c("100","100.396798622275","100.289579106988","99.9190144893418","100.439784570027","100.124973416093"
),hpfolioTotalInvNZ = c("100","99.8882748824908","98.8225791351364","98.0760852984932","99.6998217808326","99.8428365508291"),lpfolioTotalInvNZ = c("100","100.680353722841","99.7285569078393","99.2649714247455","100.21300064583","100.043862125597"),hROATotalInvNZ = c("100","100.38312056174","100.860708831452","99.4017877917418","100.396352403539","101.764817682509"),lROATotalInvNZ = c("100","100.611388876841","99.7567183567618","99.9634937211577","101.234588176424","102.218770263564"
)),row.names = c("20160502","20160503","20160504","20160509","20160510","20160511"),class = "data.frame")
基本上是一个包含 4 年期间多个投资组合回报的列表。第一列是一个日期列,尽管它是多余的,但行名也是日期。
然后我使用melt命令并得到以下输出:
melted<- melt(plottable,id = "Date")
Date variable value
1 2016-05-02 bfolioTotalInvNZ 100
2 2016-05-03 bfolioTotalInvNZ 100.396798622275
3 2016-05-04 bfolioTotalInvNZ 100.289579106988
4 2016-05-09 bfolioTotalInvNZ 99.9190144893418
5 2016-05-10 bfolioTotalInvNZ 100.439784570027
6 2016-05-11 bfolioTotalInvNZ 100.124973416093
然后使用以下代码绘制它们:
ggplot(melted,aes(x = Date,y = value,col = variable)) +
geom_line()
它给了我以下错误: geom_path:每组只包含一个观察。需要调整组吗 审美?
我一直在努力解决这个问题,似乎永远无法解决这个问题。如果有人可以帮助我,我将不胜感激。我只是想将所有这些同时绘制在同一个情节中,我真的不确定是什么地方出了问题。
编辑:如果我添加 group = variables 命令,例如:
ggplot(melted,aes(Date,value)) +
geom_line(aes(colour = variable,group = variable))
我得到以下输出: enter image description here
我不知道为什么,因为值在 50-250 之间,我什至将每个观察的数量减少到 600。