如何创建比较两组的一个变量的散点图?
How to create a scatterplot of one variable comparing two groups?
我正在尝试使用 ggplot 为单个数值变量制作两组相互对比的 scatter/xy 图。
如果我有一个看起来像这样的数据集:
# condition group size
#1 apple_1 apple 200
#2 apple_2 apple 400
#3 apple_3 apple 600
#4 pear_1 pear 300
#5 pear_2 pear 400
#6 pear_3 pear 700
我想制作一个散点图,x 轴是苹果的大小,y 轴是梨的大小,apple_1 和 pear_1 匹配创建一个点, apple_2 与 pear_2,apple_3 与 pear_3。这基本上会导致正相关的散点图。
有办法吗?
将apple
和pear
放在不同的列中,这样绘图会更容易。
library(tidyverse)
df %>%
select(-condition) %>%
pivot_wider(names_from = group, values_from = size, values_fn = list) %>%
unnest(cols = everything()) %>%
ggplot(aes(apple, pear)) + geom_point(size = 3)
使用 plot
+ unstack
的简单基础 R 选项
plot(unstack(rev(df[-1])))
一个ggplot
版本
df %>%
select(-condition) %>%
rev() %>%
unstack() %>%
ggplot(aes(apple, pear)) +
geom_point()
我正在尝试使用 ggplot 为单个数值变量制作两组相互对比的 scatter/xy 图。
如果我有一个看起来像这样的数据集:
# condition group size
#1 apple_1 apple 200
#2 apple_2 apple 400
#3 apple_3 apple 600
#4 pear_1 pear 300
#5 pear_2 pear 400
#6 pear_3 pear 700
我想制作一个散点图,x 轴是苹果的大小,y 轴是梨的大小,apple_1 和 pear_1 匹配创建一个点, apple_2 与 pear_2,apple_3 与 pear_3。这基本上会导致正相关的散点图。
有办法吗?
将apple
和pear
放在不同的列中,这样绘图会更容易。
library(tidyverse)
df %>%
select(-condition) %>%
pivot_wider(names_from = group, values_from = size, values_fn = list) %>%
unnest(cols = everything()) %>%
ggplot(aes(apple, pear)) + geom_point(size = 3)
使用 plot
+ unstack
plot(unstack(rev(df[-1])))
一个ggplot
版本
df %>%
select(-condition) %>%
rev() %>%
unstack() %>%
ggplot(aes(apple, pear)) +
geom_point()