使用R中的折线图比较两个数据框

时间:2018-06-26 17:50:45

标签: r

my_query数据框架1

quarter  year   value

q1       2012   100
q3       2013   200
q4       2014   400
q4       2015   250 
q3       2014   400

数据帧2

quarter  year   value

q1       2014   100
q3       2012   200
q4       2015   400
q4       2012   250 
q3       2015   400

我想通过在r中作图来比较这两个。能否在这里提出建议?

注意:我尝试了不同的方法,但是没有运气

plot(DF1$fy,DF1$value,
  main ="Distribution of Assets in quarters across years",
    xlab = 'years',ylab = 'vales',type='l')

2 个答案:

答案 0 :(得分:0)

您应该使用以下代码获得所需的输出:

plot(DF1$year, DF1$value, type='l', col=1)
lines(DF2$year, DF2$value, col=2)

答案 1 :(得分:0)

您可以使用dplyr::bind_rows将两个data.frame组合在一起,然后使用tidyr::expand来填充所有丢失的quarteryear

现在,您可以使用line来绘制pointggplot图,如下所示:

library(tidyverse)
library(ggplot2)

bind_rows(df1, df2, .id="Name") %>% 
  right_join(expand(., Name, year = min(year):max(year), 
                    quarter = c("q1","q2","q3","q4")), by=c("Name","quarter","year")) %>%
  unite(YearQtr, c("year","quarter"), sep=":") %>%
  ggplot(aes(x = YearQtr, y = value, group=Name, col = Name)) +
  geom_point() +
  geom_line()

结果:

enter image description here

数据:

df1 <- read.table(text="
quarter  year   value
q1       2012   100
q3       2013   200
q4       2014   400
q4       2015   250 
q3       2014   400",
header = TRUE, stringsAsFactors = FALSE)


df2 <- read.table(text="
quarter  year   value
q1       2014   100
q3       2012   200
q4       2015   400
q4       2012   250 
q3       2015   400",
header = TRUE, stringsAsFactors = FALSE)