如何解决通用X轴可视化
假设我具有以下数据集:
a b a_lag b_lag
10 30 0 0
12 25 1 0
20 55 2 0
16 37 1 1
24 60 2 1
19 50 2 2
我希望在同一张图上分别针对轴A_lags和B_lags绘制A和B(每种颜色不同)。如果我们只有一个x轴(在上面的示例中为滞后),这对于A和B都是通用的,那么使用ggplot可以发现这非常简单。但是,对于A(A_lags)和B(B_lags)分别存在不同的滞后。但是滞后与整数0、1和2非常相似。有人可以告诉我如何针对Rstudio上的“常见滞后”-0、1和2绘制A和B吗?
解决方法
第一步是将您的数据放入Tidy Data format,以便与ggplot2
一起绘制时很好地工作。最终,您似乎只是想针对单个“公共滞后”轴绘制A和B值(分别在a
和b
列中)。这样,您可以意识到您的数据集实际上是由一个数据框组成的,在该数据框中,您的x和y列分别针对两个系列“ A”和“ B”而命名不同。将两个数据集分离出来,重新标记列,然后再次重新组合将是最简单的。我将使用dplyr
和tidyr
进行此操作,但是有些软件包具有类似的功能。
(注意:假设您的数据框= df
)。
library(dplyr)
library(tidyr)
library(ggplot2)
# separate out the data
df_a <- df %>% select(a,a_lag)
df_b <- df %>% select(b,b_lag)
# rename the columns to correspond to y and x axis
names(df_a) <- c('value','lag')
names(df_b) <- c('value','lag')
# include a new column to identify the series for the data
df_a$series <- 'A'
df_b$series <- 'B'
# combine and plot
new_df <- rbind(df_a,df_b)
ggplot(new_df,aes(x=lag,y=value,color=series)) + geom_point(size=2) + theme_bw()
我希望通过注释可以很清楚地看到代码的运行情况。 OP并没有具体说明所需的绘图类型,但是您应该能够从new_df
数据集中创建任何绘图。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。