【问题标题】:Combine 2 variables from a 8 variables set, with the difference from each row组合 8 个变量集中的 2 个变量,每行的差异
【发布时间】:2019-04-01 18:32:47
【问题描述】:

您好, 感谢您提供的所有帮助。我有一个包含 8 个变量和 5 个观察值的数据集。我想要做的是每 5 个观察值从数据集中获取 2 个变量。在这些变量中,并有来自五个不同日期的数字,例如 high.price 和 low.price,因此是观察结果。我想要的是将变量 High.priceLow.price 放入一个新数据集中,并绘制一个具有 high.price 之间差异的 genom_line em> 和 low.price,例如图上的 "y" 和 5 次观察的日期为 "x"

我想要的是每五天计算 High.price 和 Low.price 之间的差异,然后绘制差异“价差”。

【问题讨论】:

  • 欢迎来到 SO!请考虑使用dput() 分享您的数据样本并分享您为尝试自己解决问题而编写的代码。
  • 请包括示例数据、您目前尝试过的代码以及您的预期输出。您可以在以下位置找到创建好问题的指南:stackoverflow.com/help/mcve

标签: r ggplot2 finance stock


【解决方案1】:

如果我理解正确,这是一个简单的子集化案例。如果dataset1 是第一个包含 8 列和 5 行的数据集,您可以简单地使用以下方法进行子集化: dataset2 <- dataset1[c(1,2),] 其中 1 和 2 是要保留的行。由于数据不在数据集中,您可以使用日期向量作为 X 和数据集 2 中的数据作为 y 来构建图形。

我做了一个例子:

df <- data.frame (a=c(2,4,6,8,9),
              b=c(1,5,7,9,10),
              c=c(6,8,5,7,7),
              d=c(1,2,3,4,5),
              e=c(4,5,6,2,1),
              f=c(2,5,4,7,1),
              g=c(1,1,2,1,2),
              h=c(5,6,5,5,5))
Vmin <- unlist(lapply(df, min))
Vmax <- unlist(lapply(df, max))
spread <- Vmax-Vmin
plot(spread, type = "o",pch=20, xaxt="n")
axis(1,1:8,colnames(df)) #or your date

【讨论】:

  • 我需要帮助的是,通过观察 High.price 和 Low.price 五天,我想绘制 High.price 和 Low.price 之间的差异。
  • 抱歉误导,我想做的是,我想从 5 个日期观察中计算每天的 high.price 和 low.price 之间的差异。从那里我想绘制一个具有 5 个差异的 geom_line。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2011-05-24
  • 1970-01-01
相关资源
最近更新 更多