首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ggplot_build中的group列如何与原始因子级别相对应?

在ggplot_build中的group列与原始因子级别相对应的方法是通过使用ggplot2包中的函数levels()。ggplot_build函数是ggplot2包中的一个函数,用于构建绘图对象的数据结构。在ggplot_build的返回结果中,group列是一个整数向量,表示每个数据点所属的组别。要将group列与原始因子级别相对应,可以使用levels()函数获取原始因子的级别,并将group列中的整数值映射到对应的因子级别。

以下是一个示例代码:

代码语言:R
复制
library(ggplot2)

# 创建一个数据框
df <- data.frame(
  x = c(1, 2, 3, 4),
  y = c(2, 4, 6, 8),
  group = factor(c("A", "A", "B", "B"))
)

# 绘制散点图
p <- ggplot(df, aes(x, y, group = group)) +
  geom_point()

# 构建绘图对象的数据结构
plot_data <- ggplot_build(p)

# 获取原始因子的级别
factor_levels <- levels(df$group)

# 将group列中的整数值映射到对应的因子级别
group_levels <- factor_levels[plot_data$data[[1]]$group]

# 打印结果
print(group_levels)

这段代码中,首先创建了一个包含x、y和group列的数据框df。然后使用ggplot函数创建一个散点图,并将group列作为分组变量。接下来使用ggplot_build函数构建绘图对象的数据结构,并使用levels函数获取原始因子的级别。最后,通过将group列中的整数值映射到对应的因子级别,将group列与原始因子级别相对应。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

带统计学的PCoA完美解决打样本量多组数据不好区分的问题!!

今天给大家带来一个beta多样性分析与统计学检验结合的图像,整体的效果就想下面这幅图一样。 ?...Group,levels = c("setosa","versicolor","virginica")) ⚠️正常的微生物丰度数据应该是列是样本、行是物种,分析需要的数据是行是样本...,顺序与上一步保持一致。...这里有一个细节,就是因为相须图是添加了差异检验字母的,就会导致相须图和PCoA散点图的坐标轴范围不一致,如果直接合并的话会导致图像扭曲,箱子无法准确对应PCoA中点的分布。...所以一定要先画相须图,然后在后面PCoA图的绘制过程中调用两个相须图的坐标轴范围,以达到4个图的完美匹配。

1.6K20

R语言ggplot2做箱线图的时候如何添加表示平均值的线

(data=df, aes(x=group,y=weight))+ geom_boxplot(aes(fill=group)) p1 image.png 通过ggplot_build...()函数可以获取画箱线图用到的数据 ggplot_build(p1)$data[[1]] image.png 我们利用原始数据计算一下平均值,然后将数据集的平均值添加到这组数据中 df %>%...group_by(group) %>% summarise(mean_value=mean(weight)) %>% rename("group_1"="group") %>% cbind...(ggplot_build(p1)$data[[1]]) -> df1 然后利用geom_segment()函数添加品均值的线段 p1+ geom_segment(data=df1,...不知道有没有比较好的办法 (猜测geom_boxplot函数里应该是有一个步骤计算中位数的,试着看看源代码,看能不能把中位数的代码改为平均值) 还有一个问题是如果是分组的箱线图那么应该如何来实现呢?

6.5K50
  • 跟着NatureGenetics学作图:R语言ggplot2做进化树图及添加不同形状的背景色块

    论文里还公布了所有图的原始数据,我们可以试着用论文中的原始数据来模仿出论文中的图 今天的推文我们来重复一下论文中的Figure3b 中的第一个树状图 image.png ggtree所有树的布局...把作图数据单独提取出来,然后用ggplot2操作 ggplot_build(p)$data[[1]] -> df1 ggplot_build(p)$data[[2]] -> df2 ggplot_build...ggforce包中的geom_mark_hull()函数,这里比较麻烦的是还需要自己手动计算色块的边界坐标,算这些坐标还挺费时间的,还有一个问题是如何给色块添加渐变色 拼图 library(patchwork...image.png 对应着把这个减号改成下划线就好了,如果确实想在图上体现这个减号,可以出图后再编辑 然后读取 read.tree("data/20220725/tree01.nwk") 又遇到报错...str_count("\\(") readLines("data/20220725/Figure3b_1.txt") %>% str_count("\\)") 一个13 一个14 确实不匹配 暂时想不到如何用代码去找是哪个括号多了

    1.5K20

    Hive ClickHouse 行转列函数 collect_set() groupUniqArray() 入门

    1001["商品A", "商品B"]1002["商品A", "商品C"]1003["商品A", "商品C"]假设我们有一个用户表,记录每个用户的技能和对应的级别。...collect_set() 函数的缺点:不保留原始数据的顺序:collect_set() 函数将数据转换为一个无重复元素的数组,但不保留原始数据的顺序。...如果原始数据中存在不同类型的元素,则无法正确转换。只能应用于单列数据:collect_set() 函数只能将一列数据转换为一个数组,无法处理多列数据转换的需求。...数组类型限制:与 collect_set() 类似,groupUniqArray() 函数要求转换后的数组中的元素必须是相同类型的。...pivot() 函数:在 SQL 中,pivot() 函数可以将一列数据透视为多列数据,类似于将行转列的功能,但需要使用动态 SQL。

    2.4K20

    从计算、建模到回测:因子挖掘的最佳实践

    计算 Level 2的多档快照数据,传统的方式是将多档量价数据存储成为多个列, 再将多档挂单或者报价用 matrix 转换与权重做计算。...需要计算的指标定义在 factors 中,其中1个是输入表中的原始字段 TradeTime,另一个是需要计算的因子的函数表示。...前面三个例子展示了 DolphinDB 如何通过流计算引擎实现因子在生产环境中的增量计算。...6、因子回测和建模 很多时候,计算因子只是投研阶段的第一部分,而最重要的部分其实在于如何挑选最为有效的因子。在本章节中,将会讲述如何在 DolphinDB中 做因子间的相关性分析,以及回归分析。...当用户碰到因子重算的情况,便可以用dropPartition函数先删除这个因子所对应的分区数据,然后直接重算这个因子并保存到数据表中。

    6.6K22

    从零开始的异世界生信学习 GEO数据库数据挖掘--GEO代码-芯片数据分析-1

    空的和有负值的、有异常值的矩阵需要处理原始数据。...以及曾老师的2000元钱!!! 3. 数据实验分组与探针注释 3.1 设置数据的实验分组 设置实验分组的第一步,是根据表格中的数据寻找分组依据。简化关键词,简化为一个单词。...如果三种办法都不适用,可以继续往后写else if if(F){ # 1.Group----一般实验分组为一个单词 # 第一种方法,有现成的可以用来分组的列 Group = pd$`disease...,"patient"),"RA", "control") } ## str_detect用来搜索关键词 ##第三种方法需要临床信息中的字符串中有分组信息的文字 3.2 将分组数据转变成因子 变量可以分为名义型...# factor(Group)生成因子是默认按照首字母顺序排序 ##Group = factor(Group,levels = c("control","RA")) 按照代码中的顺序进行排序,control

    1K20

    R语言绘制圈图、环形热图可视化基因组实战:展示基因数据比较

    在circos.heatmap()中,一个用户定义的函数应该被设置为callback参数。该用户定义的函数应该有三个参数。 dend: 当前扇区的树状图。 m: 与当前扇区相对应的子矩阵。...同时,原始矩阵也被重新排序。如果增加更多的轨道,需要考虑所有这些影响,以确保与热图轨道有正确的对应关系。 热图布局完成后,轨道/扇区/单元的额外信息可以通过特殊变量CELL_META来检索。...heatmap(mat1, split = split) clear() grid.draw(lgd) 一个复杂的圆形热图的例子 在本节中,我将演示如何制作复杂的圆形热图。...与原始热图类似,通过对甲基化矩阵(mat_meth)的行进行k-means聚类,将所有热图的行分成5组。...mat:一个矩阵,其中各行对应不同的甲基化区域(DMRs)。矩阵中的值是每个样本中DMR的平均甲基化水平。 expr:一个矩阵,其中的行对应于与DMR相关的基因(即与DMR最近的基因)。

    5.1K20

    GEO—芯片GSE3292 _pd 中无法找到分组信息—火山图中添加目标基因

    可以看到这个数据集pd中是不包含分组信息(HPV阳性和阴性)的。在网页中找到分组信息,如下。可以看到分组信息对应的ID号是pd表格中title列中内容的后面的数字。...所以我们要额外处理pd表格把对应的分组信息加到对应的GSM数据集后。我采用的方法是直接复制上表内容,形成sup.tsv,然后读取到R中,按照ID值从小到大排列。...可以看到现在sup.tsv和pd的行顺序是一致了,然后直接将sup.tsv的HPV列加到pd中即可。...值得注意的是原始pd的行顺序是不能改变的(上一步#(3)让exp列名与pd的行名顺序完全一致),因此我们要提前设置变量记录原始的pd行顺序,pd加完HPV列后,还需要按照这个变量重新排列,恢复原始顺序。...Group = ifelse(k,"Negative","Positive")# 需要把Group转换成因子,并设置参考水平,指定levels#对照组在前,处理组在后Group = factor(Group

    9010

    群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化

    还提供了进行交叉验证以及拟合后可视化、总结和预测的实用程序。 本文提供了一些数据集的例子;涉及识别与低出生体重有关的风险因素。...因此,设计矩阵的列被 _分组_;这就是_组_的设计目的。...分组信息编码如下: group 在这里,组是作为一个因子给出的;唯一的整数代码(本质上是无标签的因子)和字符向量也是允许的(然而,字符向量确实有一些限制,因为组的顺序没有被指定)。...请注意,在λ=0.05时,医生的就诊次数不包括在模型中。 为了推断模型在各种 λ值下的预测准确性,进行交叉验证。...cv(X, y, grp) 可以通过coef以下方式获得与最小化交叉验证误差的 λ 值对应的系数 : coef(cvfit) 预测值可以通过 获得 predict,它有许多选项: predict #

    68720

    Learn R GEO

    ] 54675 22 > exp[1:4,1:4] #检查矩阵是否正常,如果是空的就会报错,空的和有负值的、有异常值的矩阵需要处理原始数据。...),pd(临床信息),exp(表达矩阵),gpl_number(芯片编号) 图片 Group(实验分组)和ids(探针注释) # 从临床样本中获得实验分组(在表格中慢慢找,代码如何实现看下) rm(list..."control", "RA") } # 需要把Group转换成因子,并设置参考水平,指定levels,对照组在前,处理组在后 ;因子正文与levels不对应时会产生NA...Group = factor(Group,levels = c("control","RA")) Group #Group是一个有重复值的向量 是分类型数据,适合用因子的形式 #factor直接转换并自动生成...图片 仿制实例数据 列—两个部分(前四列是用于求PCA的值-探针/基因;最后一列为分组信息) 行—样本名称 需要对原始数据进行转换(如图a) 图片 图片 PCA代码 #仿制的前四列 dat=as.data.frame

    1.1K01

    如何用Origin做多因子组箱线图

    那么今天我们要学的是如何使用Origin做多因子箱线图。 软件 ? Origin 2019b 32Bit ? 数据 ?...这是我们今天的数据,分别是左侧的三个指标(Factor A、Factor B、Factor C),每个指标测量了三个组别(Group 1、 Group 2、 Group 3)。 ? 视频教程 ?...关于多因子箱线图的数据输入,一般分为两种:索引数据和原始数据。 首先我们先按照索引数据进行作图。 1. 打开Origin,数据输入(跟上述数据格式一致) ? 2....选中数据,选择多因子箱线图(索引数据) ? 3. 选中数据(因为我们是选中数据,才点击的图形模板,所以不需要动,如果改变了,可以重选一下),选择X列作为分类列 ? 4....选择原始即可(右边有预览,你可以选择箱线图,也可以选择箱线图+散点图,或者不同的箱体,可以直接选择) ? 5. 这里的话,最基本的多因子箱线图就做好了 ? 6.

    14.4K40

    详解HDFS3.x新特性-纠删码

    因此,HDFS 3.x版本一个重大改进就是使用纠删码(EC)代替副本机制,纠删码技术提供了与副本机制相同的容错能力,而存储空间却少得多。在典型的纠删码(EC)设置中,存储开销不超过50%。...这时原始数据加上校验数据,一共五个数据:7、8、9、50、122,可以任意丢两个,然后通过算法进行恢复 矩阵乘法 GT是生成矩阵,RS(k,m)的生成矩阵就是m行k列的矩阵 Data代表原始数据...,7,8,9代表原始数据块 Parity代表校验数据,50,122代表校验数据块 所以3个原始数据块,如果使用2个校验块,EC编码总共占用5个数据块的磁盘空间,与2副本机制占用6个数据块的磁盘空间容错能力相当...这允许在块组而不是块的级别进行管理 Client:客户端读取和写入路径得到了增强,可以并行处理block group中的多个内部块 DataNode:DataNode运行额外ErasureCodingWorker...在副本机制下,我们可以设置副本因子,指定副本的数量,但是在EC策略下,指定副本因子是没有意义的,因为它始终为1,无法通过相关命令进行更改。 搜索公众号“五分钟学大数据”,深入钻研大数据技术

    1.6K00

    详解Hadoop3.x新特性功能-HDFS纠删码

    因此,HDFS 3.x版本一个重大改进就是使用纠删码(EC)代替副本机制,纠删码技术提供了与副本机制相同的容错能力,而存储空间却少得多。在典型的纠删码(EC)设置中,存储开销不超过50%。...这时原始数据加上校验数据,一共五个数据:7、8、9、50、122,可以任意丢两个,然后通过算法进行恢复 20120501_01.png 矩阵乘法 GT是生成矩阵,RS(k,m)的生成矩阵就是m行k列的矩阵...Data代表原始数据,7,8,9代表原始数据块 Parity代表校验数据,50,122代表校验数据块 所以3个原始数据块,如果使用2个校验块,EC编码总共占用5个数据块的磁盘空间,与2副本机制占用6个数据块的磁盘空间容错能力相当...这允许在块组而不是块的级别进行管理 Client:客户端读取和写入路径得到了增强,可以并行处理block group中的多个内部块 DataNode:DataNode运行额外ErasureCodingWorker...在副本机制下,我们可以设置副本因子,指定副本的数量,但是在EC策略下,指定副本因子是没有意义的,因为它始终为1,无法通过相关命令进行更改。

    1.3K30

    GEO数据挖掘

    3)让exp列名与pd的行名顺序完全一致 临床信息中的分组信息与表达矩对应p = identical(rownames(pd),colnames(exp));pif(!...转换成因子,并设置参考水平,指定levels,对照组在前,处理组在后Group = factor(Group,levels = c("control","RA"))Group在第一个位置上的为参考水平,...做差异分析时作为对照组3.3.2 探针注释的获取3.3.2.1 探针注释的定义及来源探针注释:探针与基因的对应关系 不是所有的GPL都能找到注释!...) #打出找注释的代码ids 的四种方法:(原始、基础)Bioconductor中的...,deg,logFC_t,P.Value_t,gse_number,file = "step4output.Rdata")探针注释:多个探针对应一个基因随机去重保留行和/行平均值最大的探针取多个探针的平均值如何实现随机去重

    18400

    HAWQ + MADlib 玩转数据挖掘之(四)——低秩矩阵分解实现推荐算法

    如何得到潜在因子         下面问题来了,这个潜在因子(latent factor)是怎么得到的呢?        ...因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。这是个非常稀疏的矩阵,因为大部分用户只听过全部音乐中很少一部分。如何利用这个矩阵去找潜在因子呢?...然而在业务系统中,userid和musicid很可能不是按从0到N的规则顺序生成的,因此需要建立矩阵下标值与业务表ID之间的映射关系,这里使用HAWQ的BIGSERIAL自增数据类型对应推荐矩阵的索引下标...,U(用户潜在因子)矩阵11行7列,V(音乐潜在因子)矩阵16行7列。...生成的结果表是稠密形式的11 x 16矩阵,这就是我们需要的推荐矩阵。为了方便与原始的索引表关联,将结果表转为稀疏表示。

    1.3K100

    纯干货 | 深入剖析 HDFS 3.x 新特性-纠删码

    因此,HDFS 3.x 版本一个重大改进就是使用纠删码(EC)代替副本机制,纠删码技术提供了与副本机制相同的容错能力,而存储空间却少得多。在典型的纠删码(EC)设置中,存储开销不超过50%。 3....矩阵乘法 GT 是生成矩阵,RS(k,m) 的生成矩阵就是 m 行 k 列的矩阵; Data 代表原始数据,7,8,9代表原始数据块; Parity 代表校验数据,50,122代表校验数据块。...所以3个原始数据块,如果使用2个校验块,EC编码总共占用5个数据块的磁盘空间,与2副本机制占用6个数据块的磁盘空间容错能力相当。 4....可以从其任何内部块的ID推断出block group的ID。这允许在块组而不是块的级别进行管理。 Client:客户端读取和写入路径得到了增强,可以并行处理block group中的多个内部块。...在副本机制下,我们可以设置副本因子,指定副本的数量,但是在EC策略下,指定副本因子是没有意义的,因为它始终为1,无法通过相关命令进行更改。

    1.7K20

    生信技能树 Day8 9 GEO数据挖掘 基因芯片数据

    关于表达矩阵里的负值 (2)提取临床信息 pd <- pData(eSet) # 找分组信息 (3)让exp列名与pd的行名顺序完全一致 p = identical(rownames(pd),colnames...= rep(c("group1","group2","group3"),times = c(6,6,8)) #假如需要从多个分组里面取两个分组对应的行 library(stringr) k = str_detect...;gpl_number save(pd,exp,gpl_number,file = "step1output.Rdata") # 保存变量,后续进行下一步 原始数据处理的代码,按需学习 https://...如果三种办法都不适用,可以继续往后写else if if(F){ # 第一种方法,有现成的可以用来分组的列 Group = pd$ #列名 }else if(F){ # 第二种方法,眼睛数,...,"Normal","Disease") } data.frame(pd$title,Group)# 检查分组对不对 转换为因子 # 需要把Group转换成因子,并设置参考水平,指定levels,对照组在前

    36321
    领券