首页 文章

R GGPLOT2时间序列

提问于
浏览
0

我想要按时完成ggplot2的时间序列 . 我的问题是有些专栏有 . 而不是NA . 而且似乎我的变量是因子而不是数字 .

数据集

DATE        IR      IQ
9/1/1983    77.6    85.7
10/1/1983   .       .
11/1/1983   .       .
12/1/1983   78      85.4

df_temp <- read.csv("",na.strings = "")

IR.factor <- factor(IR)
IQ.factor <- factor(IQ)
as.numeric(IR.factor)
as.numeric(IQ.factor)

head(df_temp)
str(df_temp)

df_temp <- df_temp[rowSums(is.na(df_temp)) != ncol(df_temp), ]

ggplot(aes(x=date, weight=value, fill=variable), data=df_temp) +
geom_bar() + 
labs(x='DATE', y='Index 2000=100, Not Seasonally Adjusted') +
labs(color='Legend') +
scale_fill_discrete(labels = c('IR.factor',
                             'IQ.factor'
                             )) +
 scale_y_continuous(breaks = round(seq(0, 200, by = 20), 1)) +
 scale_x_date(date_breaks = '5 year', date_minor_breaks = '5 year', 
 date_labels = '%Y') +
 theme(plot.title = element_text(lineheight=.7, face='bold')) +
 theme(legend.position='bottom')

任何建议都非常感谢

1 回答

  • 0

    最终代码如下所示:

    库(GGPLOT2)

    df_temp <- read.csv(".csv",na.strings = c("","."))
        IR <- df_temp$IR[!is.na(df_temp$IR)]
        IQ <- df_temp$IR[!is.na(df_temp$IQ)]
        df_temp$YEAR <- as.Date(df_temp$YEAR)   
        ADJ_DF <- df_temp[df_temp$YEAR>="1998-01-01" & df_temp$YEAR <= "2018-01-
        01",]
    
    ggplot(ADJ_DF, aes(YEAR, group=1, color=Legend))+
        geom_line(aes(y=IR, color="Import Price Index (IR)"))+
        geom_line(aes(y=IQ, color="Export Price Index IQ"))+
            labs(x = "Year", y = "Index 2000=100, Not Seasonally Adjusted", 
            title = "United States Import and Export Price Indexes: All 
            Commodaties (1998-2018)")+
            scale_x_date(date_breaks="2 years",date_labels="%Y")+
            theme(plot.title = element_text(lineheight=.7, face='bold')) +
            theme(legend.position='bottom')
    

    任何其他初学者的注意事项:

    -have to use group = 1 -dates必须是as.Date格式,并且应该是YYYY-MM-DD格式 - 只包括适用于ggplot括号中的两行的-geom行然后包含y变量

相关问题