【问题标题】:R - Time Series ggplot Missing columnR - 时间序列 ggplot 缺少列
【发布时间】:2018-10-29 13:21:24
【问题描述】:

我正在努力在 R 中开发时间序列图。但是,我似乎无法访问数据框中的列。错误消息是 FUN(X[[i]], ...) 中的错误:找不到对象“日期”

以下包括我的脚本和简要表。非常感谢任何帮助。

# Transpose USA to get dates
t_USA_G_1 <- as.data.frame(t(USA_G_1_date))

#Rename column headers
colnames(t_USA_G_1)[0] = "Dates"
colnames(t_USA_G_1)[1] = "USA_Net_Enrollment"
t_USA_G_1

#Time series plot
t_USA_G_1%>%
  ggplot(aes(Dates, USA_Net_Enrollment)) + 
  geom_line() + 
  geom_point()

-----输出-----

     USA_Net_Enrollment
1999           96.56902
2000           96.69755
2001           96.28022
2002           94.99747
2003           94.74116
2004           93.37412
2005           93.68804
2006           94.81912
2007           95.86296
2008           96.26724
2009           94.81539
2010           93.62400
2011           92.91374
2012           93.16648
2013           92.77709
2014           93.09830
2015           93.75419

【问题讨论】:

  • ggplot 调用改为引用Dates 或许?
  • 感谢您的收获。但是,错误仍然存​​在。
  • 试试 colnames(t_USA_G_1)[1] = "Dates" - 在 R 中,索引从 1 开始,而不是 0
  • 如上所示,用于 colnames(t_USA_G_1)[0] = "Dates" colnames(t_USA_G_1)[1] = "USA_Net_Enrollment"
  • 我认为您错过了@MRau 的观点:colnames(t_USA_G_1)[0] 会给您一个空向量,因为在 R 中,索引 0 处不会有任何内容,因此您实际上不会更改“日期”列。这是 R 与许多其他从 0 开始的语言不同的一种方式

标签: r ggplot2 time-series transpose


【解决方案1】:

我使用 row.names 找到了答案。

t_USA_G_1%>%
  ggplot(aes(row.names(t_USA_G_1), USA_Net_Enrollment)) + 
  geom_point(color="blue")+
  labs(x="Dates", y="USA Net Enrollment")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多