我试着制作一个有六个盒子的情节,
我不确定如何开始,但使用ggplot
我希望能连续得到6个盒子的情节:
A5 (1,0和NA)下的三个变量,A9 (1、0和NA)下的变量。maf的相应值。我一直在试图绘制它们,但我要么只绘制了maf列,要么画了一个灰色的板子。任何帮助都是令人惊奇的,谢谢。-- A5 A9 maf
1 1 NA 9.33843e-01
2 1 1 2.07735e-01
3 1 1 9.28438e-01
4 1 1 7.17963e-01
5 0 NA 1.02935e-01
6 1 1 9.28281e-01
7 1 1 9.28100e-01
8 1 1 2.85170e-01
9 1 1 2.67085e-01
10 1 1 9.28339e-01
11 1 1 5.68334e-02
12 1 1 4.87848e-01
13 1 1 2.22414e-01
14 1 1 3.37689e-01
15 1 1 1.09452e-01
16 1 1 4.71361e-02
17 NA NA 6.87674e-01
18 0 0 5.03323e-01
19 1 1 8.93953e-01
20 1 1 9.13662e-01当使用e-9指数在原始数据上运行代码时,:
df %>%
pivot_longer(
-maf
) %>%
ggplot(aes(name, maf, fill=factor(value))) +
geom_boxplot()我得到了这张照片:

编辑2---------
structure(list(A5 = c(1L, 1L, 1L, 1L, 0L, 1L), A9 = c(NA, 1L,
1L, 1L, NA, 1L), maf = c("9.33843e-01", "2.07735e-01", "9.28438e-01",
"7.17963e-01", "1.02935e-01", "9.28281e-01")), row.names = c(NA,
6L), class = "data.frame")发布于 2021-12-20 21:44:23
用新数据更新:
df %>%
pivot_longer(
-maf
) %>%
ggplot(aes(factor(name), as.numeric(maf), fill=factor(value))) +
geom_boxplot() +
scale_y_continuous(labels = function(x) format(x, scientific = FALSE))

第一个答案:
以长格式携带数据,然后使用geom_boxplot()
library(tidyverse)
df %>%
pivot_longer(
-maf
) %>%
ggplot(aes(name, maf, fill=factor(value))) +
geom_boxplot()

数据:
df <- structure(list(A5 = c(1L, 1L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, NA, 0L, 1L, 1L), A9 = c(NA, 1L, 1L, 1L,
NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 0L, 1L, 1L
), maf = c(0.933843, 0.207735, 0.928438, 0.717963, 0.102935,
0.928281, 0.9281, 0.28517, 0.267085, 0.928339, 0.0568334, 0.487848,
0.222414, 0.337689, 0.109452, 0.0471361, 0.687674, 0.503323,
0.893953, 0.913662)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
"14", "15", "16", "17", "18", "19", "20"))https://stackoverflow.com/questions/70428247
复制相似问题