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

R&Python Data Science 系列:数据处理(2)

1 衍生字段函数 主要有两个函数,mutate()和transmute(),两个函数在Python和R上使用方法相同,这两个函数本身有点区别:mutate()函数保留原来所有列,然后新增一列;transmute...2 条件函数 这里介绍3个条件函数,if_else()、case_when()、between()函数,Python包dfply和R包dplyr中都是这3个函数,在用法上有点细微差别,日常中使用最多...而且if_else()函数可以嵌套使用,不过当条件判断超过2个的时候,建议使用case_when()函数。...注意:python在jupyter中使用管道函数换行书写代码的时候需要用()把代码括起来。 2.2 case_when函数 用于多条件赋值,评分卡Woe赋值的时候使用起来很方便。...注意:case_when函数在Python和R语言中使用的时候有点区别,请留意。

77310

R语言批量生成CaseWhen的解决方案

大家好,又见面了,我是你们的朋友全栈君。 近期写R代码,经常用dplyr::case_when结合stringr::str_detect进行条件判断。...痛点:判断条件可能会改或增删,全写在case_when里,代码冗余且不利于复制和维护,stackoverflow找了一圈,没发现好的解决方案,干脆自己写了一个通用代码以自动生成批量case_when判断...) 使用示例: 初始表tibble(fruit=stringr::fruit) 想实现字母a开头为’starts with a’,字母e结尾为’ends with e’ 等若干条件。...结果如下图: 单纯用case_when,需要写成 tibble(fruit=stringr::fruit) %>% mutate( category=case_when(...函数的核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。

61620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用Python中的装饰器创建具有实例化时间变量的新函数方法

    1、问题背景在Python中,我们可以使用装饰器来修改函数或方法的行为,但当装饰器需要使用一个在实例化时创建的对象时,事情就会变得复杂。...例如,我们想要创建一个装饰器,可以创建一个新的函数/方法来使用对象obj。如果被装饰的对象是一个函数,那么obj必须在函数创建时被实例化。...如果被装饰的对象是一个方法,那么必须为类的每个实例实例化一个新的obj,并将其绑定到该实例。2、解决方案我们可以使用以下方法来解决这个问题:使用inspect模块来获取被装饰对象的签名。...如果被装饰的对象是一个方法,则将obj绑定到self。如果被装饰的对象是一个函数,则实例化obj。返回一个新函数/方法,该函数/方法使用obj。...f以及函数myfunc、myfunc2和myfunc3上。

    9210

    听说WGCNA官网崩了?那还能做基因共表达分析吗?

    主要的变异来源是发育阶段、组织和重复样本。我通常会制作一个汇总表来指导我的下游分析: 发育阶段可以作为数值变量或定性变量进行分析。 现在我们了解了实验设计,接下来我们将确定实验中变异的主要驱动因素。...为了最好地区分生物学变异和技术变异,我们应该对手收集和LM样本进行单独的基因共表达分析。 下面使用手收集的样本。...选择高变异基因有多种方法和多个截止值。例如,你可以计算所有基因的logTPM的基因级方差,并取上三分位数。你可以选择在所有组织中具有一定表达水平的基因(比如说> 5 tpm),然后取高变异基因。...= to) %>% mutate(t = r*sqrt((number_of_tissue_stage-2)/(1-r^2))) %>% mutate(p.value = case_when...也可以绘制整个边表,当你抽样足够大时,它不会改变分布的形状。看起来在 r>0.7(红线)时,分布迅速减少。因此,使用 r>0.7r作为截止值。

    19310

    数据处理第2节:将列转换为正确的形状

    转换列:基础部分 您可以使用mutate()函数创建新列。 mutate中的选项几乎是无穷无尽的:你可以对普通向量做任何事情,可以在mutate()函数内完成。...mutate中的任何内容都可以是新列(通过赋予mutate新的列名),或者可以替换当前列(通过保持相同的列名)。 最简单的选项之一是基于其他列中的值的计算。...在这种情况下,您有一些选择:要么预先创建一个函数(如果它更长时间有用),或者通过将它包装在funs()或波形符中来动态创建函数。...在这些情况下,我们必须在给出round()指令之前添加列需要为数字的条件,这可以使用mutate_if来完成。 通过使用mutate_if(),我们在管道中需要两个参数: 首先,它需要有关列的信息。...(多个级别) ifelse()可以嵌套,但如果你想要两个以上的级别,但是使用case_when()可能更容易,它允许你喜欢的语句数量多,并且比许多嵌套的ifelse更容易阅读声明。

    8.1K30

    R优雅绘制小样本间相关性网络图

    >4 observations 报错信息表明rcorr函数在尝试计算Spearman相关性时遇到了问题,原因是数据中的某些变量(列)的观测值数量不足以进行相关性分析。...具体来说rcorr 函数要求每个变量至少有5个观测值来计算相关性。...解决方案 ❝由于在进行实验设计时,通常多为设置3重复,若我们想分析每一组内不同样本之间的相关性就会频繁遇到这种问题,使用内置的R包则无法解决问题,因为需要我们进行自定义分析函数来进行相关性分析. ❞ 加载...= to) # 过滤掉权重为0的边和自环 创建图形 df_igraph <- graph_from_data_frame(edge_list, directed = FALSE) 提取边的权重 df.weight...<- E(df_igraph)$weight edge_attributes % mutate( color = case_when

    48110

    R语言ggplot2:单元格为方块的热图简单小例子-2

    昨天公众号后台有人留言作图,示例图如下 image.png 我选择使用R语言的ggplot2来实现,这个是箱线图和热图的拼接,右侧的热图可以借助geom_point()函数实现,将点的形状改为正方块,数值按照正负来映射颜色...继续昨天推文的内容 R语言ggplot2绘图单元格为方块的热图—1—调整图例的位置(点击蓝色字体直达昨天的推文) 今天的推文记录一下如何实现这个热图 首先构造一份数据集 set.seed("20200407...head(df) df1<-reshape2::melt(df,id.vars="Sample") head(df1) image.png 构造数据 library(dplyr) df1%>% mutate...(group_1 = case_when( value <= 0 ~ "A", TRUE ~ "B" ))%>% mutate(group_2=case_when( value...(value_1=case_when( value >= -1 & value < -0.7 ~ -0.8, value >= -0.7 & value < -0.5 ~ -0.6,

    3.1K20

    生信技能树- R语言-day7

    duplicated(mm)] 提取没有重复的第一次出现的mutate,数据框新增一列mutate(test, new = Sepal.Length * Sepal.Width) new是新产生的列名新加之后...多次赋值,会产生多个中间的变量x1 = select(iris,-5)x2 = as.matrix(x1)x3 = head(x2,50)pheatmap::pheatmap(x3)2....select(iris,-5)),50))管道符号传递,简洁明了iris %>%select(-5) %>%as.matrix() %>%head(50) %>%pheatmap::pheatmap()玩转条件和循环条件...else2, ifelse(,,ifelse)在ifelse里加一个ifelse补充 case_when练习题1.加载deg.Rdata,根据a、b两列的值,按照以下条件生成向量x:load("deg.Rdata...() # 列出工作目录下的文件dir(pattern = ".R$") #列出工作目录下以.R结尾的文件file.create("douhua.txt") #用代码创建文件file.exists("douhua.txt

    10400

    R语言第二章数据处理⑤数据框列的转化和计算目录正文

    正文 本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数: Mutate():计算新变量并将其添加到数据表中。 它保留了现有的变量。...同时还有mutate()和transmutate()的三个变体来一次修改多个列: Mutate_all()/ transmutate_all():将函数应用于数据框中的每个列。...Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择的特定列 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE的谓词函数选择的列...mutate:通过保留现有变量来添加新变量,通过保留现有列来添加新列(sepal_by_petal): library(tidyverse) my_data <- as_tibble(iris) my_data...my_data %>% mutate(sepal_by_petal_l = Sepal.Length/Petal.Length) transmute:通过删除现有变量来创建新变量,删除现有列,添加新列

    4.2K20

    R语言利用转录组基因表达矩阵做基因共表达分析的学习资料推荐

    参考资料链接 https://github.com/cxli233/SimpleTidy_GeneCoEx/tree/v1.0.1 提供完整的示例数据和代码,非常好的学习材料 做基因共表达比较常用的是...WGCNA那个R包,这个链接里提供的代码不是用WGCNA这个R包实现的,而是利用表达量数据计算不同基因之间的相关性,这种方法也挺常用的在论文里见过 表达量数据是来源于论文 High-resolution...(stage = case_when( str_detect(dev_stage, "MG|Br|Pk") ~ str_sub(dev_stage, start = 1, end = 2),...) PCA_by_stage library(patchwork) PCA_by_method+PCA_by_tissue+PCA_by_tissue image.png 以上用到的代码和示例数据都可以在推文开头提到链接里找到...上面的代码有一步是对TPM值 加1然后取log10,他的实现方式是先将宽格式数据转换为长格式,然后把取log10后的长格式再转换为宽格式,这里我没能还可以借助mutate_at()函数 Exp_table

    45210

    使用 R 语言从 PDF 文档中提取表格

    由于一个知识星球的小伙伴急需学习如何从 PDF 文档中提取表格,所以先插这个课,「使用 R 语言处理 netCDF 数据」系列的课程下次再发新的哈。...本课程介绍了如何使用 R 语言从 WHO(世界卫生组织)的官网上下载新冠疫情的每日报告以及如何从这些报告中的表格里面提取数据。...从 PDF 里面提取表格数据 我选择最新的一个 PDF 做演示:20200523-covid-19-sitrep-124.pdf,下面使用 tabulizer 包进行数据提取,不过这个包依赖于 rJava...包,因此在使用这个包之前你需要在电脑上安装 Java 和在 R 里面安装 rJava 包。...因为电脑系统的关系,我不好演示,大家可以自己研究下,不难的。我这里提供几个 tips,Java 安装之后可能还需要进行环境变量的配置。

    3.7K10

    大更新,pandas终于有case_when方法了!

    一、环境 首先,pandas2.2.0的版本有个安装的前提条件,就是python的版本需要在3.9及以上才行,因此如果使用anaconda的朋友,可以通过conda install python=3.12.1...这里输入series是score_all,判断条件用的是english。 替换值:替换值使用了lambda隐函数对输入series计算。...这就是case_when非常灵活的原因,判断条件和替换值既可以是固定的值,也可以是自定义的函数,根据自己的需求随意设置。...案例3 case_when只实现区域内的变量加工,其输出结果也可以与其他函数方法结合,产生更多强大的功能。...比如,可以将以上全部变量加工过程通过链式的方式更优雅的实现,结合assign的使用一行代码可完成全部。

    41310
    领券