通用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值(分别在ab列中)。这样,您可以意识到您的数据集实际上是由一个数据框组成的,在该数据框中,您的x和y列分别针对两个系列“ A”和“ B”而命名不同。将两个数据集分离出来,重新标记列,然后再次重新组合将是最简单的。我将使用dplyrtidyr进行此操作,但是有些软件包具有类似的功能。

(注意:假设您的数据框= 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()

enter image description here

我希望通过注释可以很清楚地看到代码的运行情况。 OP并没有具体说明所需的绘图类型,但是您应该能够从new_df数据集中创建任何绘图。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...