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')
答案 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
来填充所有丢失的quarter
和year
。
现在,您可以使用line
来绘制point
和ggplot
图,如下所示:
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()
结果:
数据:
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)