首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图创建几个盒子

试图创建几个盒子
EN

Stack Overflow用户
提问于 2021-12-20 21:27:33
回答 1查看 42关注 0票数 1

我试着制作一个有六个盒子的情节,

我不确定如何开始,但使用ggplot

我希望能连续得到6个盒子的情节:

  1. 3盒图用于A5 (1,0和NA)下的三个变量,
  2. 3为A9 (1、0和NA)下的变量。
  3. 然后填充来自maf的相应值。我一直在试图绘制它们,但我要么只绘制了maf列,要么画了一个灰色的板子。任何帮助都是令人惊奇的,谢谢。--

代码语言:javascript
复制
   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指数在原始数据上运行代码时,:

代码语言:javascript
复制
df %>% 
  pivot_longer(
    -maf
  ) %>% 
  ggplot(aes(name, maf, fill=factor(value))) +
  geom_boxplot()

我得到了这张照片:

编辑2---------

代码语言:javascript
复制
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")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 21:44:23

用新数据更新

代码语言:javascript
复制
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()

代码语言:javascript
复制
library(tidyverse)

df %>% 
  pivot_longer(
    -maf
  ) %>% 
  ggplot(aes(name, maf, fill=factor(value))) +
  geom_boxplot()

数据:

代码语言:javascript
复制
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"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70428247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档