首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将表格转换为ggplot图?

如何将表格转换为ggplot图?
EN

Stack Overflow用户
提问于 2020-12-09 23:28:13
回答 1查看 65关注 0票数 0

我目前正在重写一篇前段时间有人写的文章,但没有跟上。这篇文章有一个名为“表2:抑郁症状严重程度的中位数和四分位数范围以及基线、干预后和随访6个月和12个月的血清白细胞介素-6和肿瘤坏死因子水平”的表格。

This is the table I'm talking about.

数据框当前是具有每个主题的值的变量。如il6_baseline,il6_6mon,il6_12mon,il6_after (白细胞介素-6)。肿瘤坏死因子也是如此。这些都是连续变量。

表中的"TCC“和"PDSE”是在此期间接受不同治疗的两个不同组。

但我知道怎么找到中介人之类的。我的问题是,我应该用什么样的图表来直观地说明这些信息呢?如果你能帮我一个基本的语法,我可以从那里开始工作。我是一个R的初学者,我通常可以完成一些事情,但我从来没有太多的图形混乱,现在我有这个障碍在我面前。

感谢您的理解和关注。祝你今天愉快!

用于可视化的子集的dput输出:

代码语言:javascript
复制
structure(list(a02rec = c(2925, 2461, 2887, 4132, 2734, 4176, 
2158, 690, 4287, 2871), ND_IL_6I = c(156.475, 25.393, 5.20696, 
29.448, 636.561, 16.7, 20.83028, 13.04912, 17.28, 30.686), ND_IL6_intermed = c(NA, 
NA, NA, NA, NA, 4.5048, 49.654, 5.1872, 23.8992, NA), IL_6_6mesesultimovalorITT = c(62.163, 
59.278, 45.1272, 19.258, 17.689, 15.864, 16.0992, 22.88964, 14.748, 
21.706), modeloterapia = structure(c(2L, 1L, 1L, 2L, 1L, 1L, 
2L, 2L, 1L, 2L), .Label = c("pdse", "tcc"), class = "factor")), row.names = c(NA, 
10L), class = "data.frame")

在上面的子集中,"a02rec“变量无关紧要,它只是一个标识符。从"IL_6“和"ND_IL_6”开始的变量是从收集的血清水平开始的变量,而"modeloterapia“变量是关于受试者是否参加了PSDE或TCC治疗模式。正如我在前面的评论中所说的,我想创建一个图表。三个图表,每个组一个(PSDE,TCC和总样本),并有某种类型的框显示这些时间戳之间的血清水平。

我不确定是用“方框”图形还是“点/点”图形来表示我想要实现的目标。我希望这些图表能显示两个时期(初始/基线、6个月、12个月和治疗后)之间血清水平的变化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-10 10:39:01

有效使用ggplot2的关键是将数据转换为长格式。

代码语言:javascript
复制
long_data = df %>%
  pivot_longer(matches("IL")) %>%
  separate(name, sep = "_", into = c("drug", "something", "time"))

head(long_data)
# # A tibble: 6 x 6
#   a02rec modeloterapia drug  something time                 value
#    <dbl> <fct>         <chr> <chr>     <chr>                <dbl>
# 1   2925 tcc           ND    IL        6I                   156. 
# 2   2925 tcc           ND    IL6       intermed              NA  
# 3   2925 tcc           IL    6         6mesesultimovalorITT  62.2
# 4   2461 pdse          ND    IL        6I                    25.4
# 5   2461 pdse          ND    IL6       intermed              NA  
# 6   2461 pdse          IL    6         6mesesultimovalorITT  59.3

我对你的数据的一些含义感到困惑,但我已经做出了一些猜测,希望你能纠正。

对于这种格式的数据,绘图相对简单。这里有一个例子(由于数据样本很小,这看起来有点奇怪)。

代码语言:javascript
复制
ggplot(long_data, aes(x = time, y = value, fill = drug)) +
  geom_boxplot() + 
  facet_wrap(vars(modeloterapia), ncol = 1)

如果需要重新排序x轴,请将x轴上的变量转换为具有所需级别顺序的factor,即as in this answer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65219765

复制
相关文章

相似问题

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