gpt4 book ai didi

r - 使用 R 中的 ggplot2 为 Dataframe 中的每一行绘制一条线

转载 作者:行者123 更新时间:2023-12-02 09:22:55 24 4
gpt4 key购买 nike

我得到了以下描述德国不同地区年龄结构的数据框:

enter image description here

我想在 R 中使用 ggplot 每行绘制一行。通过 R 中的 matplot 的一个简单解决方案是:

matplot(t(df61[,-c(1,2)], type="l"))

产生:

enter image description here

但是它是如何与 ggplot 一起工作的。我知道,我必须将数据框转换为平面形式:

library("reshape2")
df61_long <- melt(df61[,-2], id.vars = "NAME")

这给了我:

enter image description here

我认为通过 ggplot 的解决方案应该是这样的:

ggplot(df61_long, aes(x = "variable", y = "value")) + geom_line(aes(colors = "NAME"))

然而,这会产生一个空坐标系。我做错了什么?

最佳答案

你的例子不可重现,所以我自己做了:

library(reshape2)
library(ggplot2)

df = data.frame(cat = LETTERS[1:6], VAR1 = runif(6), VAR2 = runif(6), VAR3 = runif(6), VAR4 = runif(6))
df_melted = melt(df, id.vars = 'cat')

在您的代码中:

ggplot(df_melted, aes(x = 'variable', y = 'value')) + geom_line(aes(color = 'cat'))

有很多问题:

  • 没有colors美感,应该是color
  • 美学不应作为字符串传递给 aes。为此使用 aes_string
  • 在这种情况下,您需要一个额外的 aes,group

此代码有效:

ggplot(df_melted, aes(x = variable, y = value)) + geom_line(aes(color = cat, group = cat))

enter image description here

关于r - 使用 R 中的 ggplot2 为 Dataframe 中的每一行绘制一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40588050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com