您好,我从R中的软件包States
中调用了以下数据集carData
。
我正在尝试绘制以下数据。
head(States)
region pop SATV SATM percent dollars pay
AL ESC 4041 470 514 8 3.648 27
AK PAC 550 438 476 42 7.887 43
AZ MTN 3665 445 497 25 4.231 30
AR WSC 2351 470 511 6 3.334 23
CA PAC 29760 419 484 45 4.826 39
CO MTN 3294 456 513 28 4.809 31
我想做的是创建一个绘图,该绘图显示该图表中的四个数据。 我想要一个多方面的图表。
我的垂直轴上的两个变量是SATV和SATM,水平轴上的两个变量是美元和工资。
例如,将有四个方框,而我的右上角将是薪水和卫星之间的关系。
如何使用格子或ggplot2做到这一点。
答案 0 :(得分:1)
我乍看之下认为这是制作散点图矩阵的问题。 @Punintended建议使用[[UIBarButtonItem appearance]
setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000.0, 0.0)
forBarMetrics:UIBarMetricsDefault];
,并且GGally::ggpairs
中可能也有一些有效的方法。但是,由于您并不是要寻找变量的 all 组合,所以我意识到这实际上是关于重塑数据的方法:您有2个独立变量GGally::ggduo
和dollars
,并且2个受抚养者,pay
和SATV
。您可以对其进行重塑,以便有一列测试类型和一列测试分数,然后再次重塑以创建一列资金类型和一列资金金额。我是通过两次致电SATM
来做到这一点的。
tidyr::gather
此后,方面将起作用,因为您现在可以通过某种方式将数据按资金类型(花费或支付的美元)与测试类型(语言或数学)分开。
library(dplyr)
library(tidyr)
library(ggplot2)
data(States, package = "carData")
states_long <- States %>%
gather(key = test_type, value = score, SATV, SATM) %>%
gather(key = funding_type, value = funding_value, dollars, pay)
head(states_long)
#> region pop percent test_type score funding_type funding_value
#> 1 ESC 4041 8 SATV 470 dollars 3.648
#> 2 PAC 550 42 SATV 438 dollars 7.887
#> 3 MTN 3665 25 SATV 445 dollars 4.231
#> 4 WSC 2351 6 SATV 470 dollars 3.334
#> 5 PAC 29760 45 SATV 419 dollars 4.826
#> 6 MTN 3294 28 SATV 456 dollars 4.809
由reprex package(v0.2.0)于2018-07-11创建。