无法使用R中的数据帧绘制时间序列图。连续获取错误" $运算符对原子向量无效。"

时间:2018-02-04 18:31:08

标签: r plotly r-plotly

我的数据框df在其两列中包含以下值:

Year Temperature
1750 8.719364
1751 7.976143
1752 5.779833
1753 8.388083
1754 8.469333
1755 8.355583
1756 8.849583
1757 9.022000
1758 6.743583
1759 7.985083
1760 7.185167

以及相应温度的约200年。

我试图用剧情绘制时间序列图。

library(plotly)
g <- plot_ly(x=~df$Year, y=~df$Temperature, add_trace("scatter"), mode='lines')

它给了我

  

错误:$运算符对原子向量无效。

所以,我尝试将列分配到单独的向量中,如下所示,以避免使用$

x <- avg.temp$Year
y <- avg.temp$Avg.Temp
g <- plot_ly(x=~x, y=~y, add_trace("scatter"), mode='lines')

但我仍然得到同样的错误。

我是R的新手。我只是想用年份和温度数据创建一个简单的时间序列图。但我无法弄清楚我的代码到底出了什么问题。有人可以帮我解决这个错误吗?

另外,add_trace("scatter")参数是什么?它有什么作用?我使用它是因为我之前在相同的数据上创建了一个图表,但它不是一行。它太厚了,它给了我一个警告,告诉我scatter跟踪在这里是合适的(或类似的......)

如果有人可以帮助我,这将是非常棒的。非常感谢,伙计们。

1 个答案:

答案 0 :(得分:0)

此代码创建的图表没有错误:

g <- plot_ly(df, x = ~Year) %>%
  add_trace(type="scatter", y=~Temperature, name="Trace Temperature", mode="lines")

在致电add_trace后致电plotly以避免错误。

另一种写得更接近现有的方式是:

g <- plot_ly(x=~df$Year, y=~df$Temperature, mode="lines")
add_trace(g, type="scatter")

不幸的是,我无法解释跟踪的内容。希望无论如何都有帮助!