【发布时间】:2021-08-31 19:32:22
【问题描述】:
我真的不知道为什么我不能让它工作,我尝试了很多我在网上找到的不同的东西都无济于事。这是我开始的数据:
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。
【问题讨论】:
-
根本不仔细查看,(1) 某些因素可能是不应该的因素,(2) 您可以指定
group美学来手动覆盖正在发生的任何事情
标签: r ggplot2 statistics