【问题标题】:How to plot a column after deleting a few rows from the data frame?从数据框中删除几行后如何绘制一列?
【发布时间】:2021-03-24 19:45:54
【问题描述】:

语言:R 数据:来自“Yahoo! Finance”

我正在尝试从股票价格数据集中删除 100 行数据,然后我想绘制“关闭”列。我希望在图中看到一条直线(对于缺失值区域)。当我运行以下代码时,我收到以下错误消息。

代码

library(quantmod)
alt.data.AMZN <- getSymbols("AMZN", from="2010-12-31", to="2013-12-31", auto.assign = FALSE)
class(alt.data.AMZN)
head(alt.data.AMZN)
plot(alt.data.AMZN$AMZN.Close)
#Deleting a few rows of data from the xts object.
data.missing <- alt.data.AMZN[c(-400:-500),]
head(data.missing)
plot(data.missing$AMZN.close) #This is where I get the error

错误信息**: plot.window(...) 中的错误:需要有限的“xlim”值 另外:警告信息: 1:在 min(x) 中:min 没有非缺失参数;返回 Inf 2:在 max(x) 中:max 没有非缺失参数;返回-Inf 3:在 min(x) 中:min 没有非缺失参数;返回 Inf 4:在 max(x) 中:max 没有非缺失参数;返回 -Inf

【问题讨论】:

  • 你有一个错字。试试plot(data.missing$AMZN.Close)。另外,当您将数据存储在data.AMZN 中时,为什么还要使用alt.data.AMZN
  • 您好 Ronak,抱歉打错了。我检查了我的代码,我只将它存储为 alt.data.AMZN。我在发布问题并在stackoverflow上对其进行格式化时错误地删除了“alt”。

标签: r plot time-series xts


【解决方案1】:

要删除行,您可以将它们设置为 NA。然后该图将不会显示缺失值的任何值。如果你想要一条直线,你可以在生成的 xts 上运行 na.locf,你最终会得到一条缺失值的直线。

data.missing <- alt.data.AMZN
data.missing[c(400:500), ] <- NA
plot(data.missing$AMZN.Close)

data.missing2 <- na.locf(data.missing)
plot(data.missing2$AMZN.Close)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多