r - 如何将数据系列规范化为起始值 = 0?

标签 r ggplot2 normalization series

我有一个类似这样的数据集:

library(ggplot2)
data(economics_long)
economics_long$date2 <- as.numeric(economics_long$date) + 915
ggplot(economics_long, aes(date2, value01, colour = variable)) +
       geom_line()

它给出了以下情节:

enter image description here

现在我想将其归一化为绿线(或平均值)的起始值,因此所有变量都从 Y 轴的同一点开始。类似这样:

enter image description here

感谢您的帮助。

最佳答案

您可以使用 by() 根据 variable 值减去每个向量的起始值。

library(ggplot2)
l <- by(economics_long, economics_long$variable, function(x) 
  within(x, varnorm <- value01 - value01[1]))
dat <- do.call(rbind, l)

ggplot(dat, aes(date2, value01.n, colour = variable)) +
  geom_line()

enter image description here

关于r - 如何将数据系列规范化为起始值 = 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55019447/

相关文章:

r - ggplot2 中的多个核密度

r - 使用 cowplot 和 ggplot2 在某些行周围绘制边框

r - 如何快速将numpy数组的redis字符串值转换为数据帧?

r - 有条件地将数据框中的值替换为第二个数据框中的值

r - 从字符串中提取日期是否有更短的方法?

c# - 规范化 Canvas wpf 中的真实世界数据

sql - 游戏中玩家与类数据库的关系

r - 匹配和更新 R 数据表中的列

r - 如何在 ggplot 中旋转自定义注释?

java - Encog 神经网络 : Normalization