【问题标题】:How do I plot an average of a column subset against another column?如何针对另一列绘制列子集的平均值?
【发布时间】:2021-03-05 20:58:09
【问题描述】:

我会先说我是一个完整的 R 新手,并且被要求做一些超出我想象的计算,所以如果这不是问这个问题的正确方法,请提前原谅我!

我有一个包含 2 列的 R 数据框:一列是年龄 (18-80),另一列是具有三个可能结果 (0,1,2) 的因变量。我想绘制一个图表,其中 x = 年龄和 y = 因变量按年龄的平均值。我知道如何制作一个简单的图表,并且我知道如何分别按年龄计算我的 (0,1,2) 列的平均值,但是对于从 18 到 80 的每个年龄然后手动执行该操作似乎真的很费力在我想我必须制作的新数据框中绘制它与年龄的关系。

如何按子集(年龄)找到因变量的平均值,然后将其与年龄作图?

【问题讨论】:

  • plot(aggregate(outcome ~ age, data, mean)) 请阅读此stackoverflow.com/a/5963610/2994949
  • 如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example
  • 非常感谢!!我几乎无法举出一个例子,所以这些链接非常有帮助。谢天谢地,我得到了我一直在寻找的答案,即使是我的基本问题,现在我也有一张我很满意的图表! :)

标签: r


【解决方案1】:

您也可以使用ggplot

dat <- data.frame(age=sample(18:80, 250, replace=TRUE), 
                  y = sample(0:2, 250, replace=TRUE))

ggplot(dat, aes(x=age, y=y)) + 
  stat_summary(fun.data = function(y)data.frame(y=mean(y)), 
               geom="line")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2019-01-27
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    相关资源
    最近更新 更多