首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏生信菜鸟团

    R tips: rlang中的expression操作符

    举例来说: package <- "ggplot2" print(package) # [1] "rlang" library(package) # Error in library(package) rlang包中有对这个“冻结”特性的诸多处理机制,其中比较有意思的是下面的几个特殊操作符。 !!和!!!代表立即执行和拆解执行 其实如果要将冻结的变量重新解除冻结,可以使用!!操作符来处理。 这是一个rlang包中定义的一个操作符函数。 它的本质原理在于:R在运行代码时,会先将代码解析成叫做expression的中间态,然后再执行expression即可获取代码结果。 # 载入工具包 library(rlang) library(magrittr) expr(library(!! 等操作符是rlang定义的操作符,list函数并不支持。为了解决这个问题,可以使用rlang定义的list2函数,它类似于list函数,只不过宽容度更高。 eval(expr(list(!!

    1.9K10发布于 2021-10-12
  • 来自专栏Chris生命科学小站五年归档

    【Debug】如何顺利的重复别人的画图代码?一名Geek粉丝的Debug历程

    好在R的debug系统非常完善,输入rlang::last_error() 之后就能看上次报错错在哪里,这时候发现原来卡在 rlang::ensym(y) 这里,那么这个函数为什么会报错呢? 简单搜索一下就发现了,原来它还有个兄弟函数叫 rlang::sym( ),rlang::ensym( )的好处是不管字符串加不加引号,都可以转化为字符串,但是,非常坑的地方是rlang::ensym( )函数在转化字符串的时候,会先判断参数时候是函数,说到这里是不是有点晕了,直接看例子吧: 看到没有,如果rlang::ensym( ) 里面即使放一个向量也是不可以的,必须是字符串,而rlang :: 那么推测原因,ggstatsplot包之前的版本用的是 rlang :: sym ( ) 函数,而新版本的时候作者脑子抽风改成了 rlang::ensym ( )。 那么问题找到了,该怎么办呢? 其实非常简单,把这个函数复制出来,放到一个新的R Script里面,然后我们保存为patch.r ,然后把这两个函数修改为rlang::sym( )即可。

    49520编辑于 2023-02-28
  • 来自专栏育种数据分析之放飞自我

    旧版本的R3.6安装最新版的ggplot2

    第二个:下载rlang1.0,然后安装最新版的ggplot2,这条路很曲折,但是解决好之后就可以用最新的版本了,也算物有所值了。 用第二个,搞起! 在这里插入图片描述 找到rlang包的链接:https://cran.r-project.org/src/contrib/Archive/rlang/rlang_1.0.1.tar.gz 然后复制包的链接 ,运行下面命令: install.packages("https://cran.r-project.org/src/contrib/Archive/rlang/rlang_1.0.1.tar.gz", * installing *source* package 'rlang' ... ** 成功将'rlang'程序包解包并MD5和检查 ** using staged installation ** libs /rlang_1.0.1.tar.gz", repo=NULL, type="source") 成功,可以看到rlang1.0安装好了,重新本地编译安装是可以解决问题的。

    1.9K30编辑于 2022-12-13
  • 来自专栏数据派THU

    独家 | 不同机器学习模型的决策边界(附代码)

    rlang::sym(colnames(.x)[1]), y = !!rlang::sym(colnames(.x)[2]), color = factor(!! rlang::sym(colnames(.x)[1]), y = !!rlang::sym(colnames(.x)[2]), z = !! rlang::sym(colnames(.x)[1]), y = !!rlang::sym(colnames(.x)[2]), color = factor(!! rlang::sym(colnames(.x)[1]), y = !!rlang::sym(colnames(.x)[2]), color = factor(!! rlang::sym(colnames(.x)[1]), y = !!rlang::sym(colnames(.x)[2]), z = !!

    2.3K40发布于 2020-04-14
  • 来自专栏生信新手保护小组学习

    宏宏的学习笔记Day6 学习R包

    /v_/r2n80_ls6yx_37pjtzps5yqh0000gn/T//RtmpsObKqI/downloaded_packagesinstalling the source packages ‘rlang /rlang/ -I/usr/local/include -fPIC -Wall -g -O2 -c capture.c -o capture.oclang -mmacosx-version-min /rlang/ -I/usr/local/include -fPIC -Wall -g -O2 -c rlang.c -o rlang.oclang -mmacosx-version-min= capture.o internal.o rlang.o version.o -F/Library/Frameworks/R.framework/.. /00new/rlang/libs** R** inst** byte-compile and prepare package for lazy loading** help*** installing

    36310编辑于 2024-04-19
  • 来自专栏生信探索

    如何优雅地管理R包

    FALSE 7 pkgco… stan… FALSE FALSE OK pkgcon… 2.0.3 MIT + … FALSE 8 rlang stan… FALSE FALSE OK rlang 1.1.0 MIT + … FALSE 9 tibble stan… TRUE TRUE 2.0.3 ✨ ⬇ (unknown size) ├─pillar 1.9.0 ✨ ⬇ (unknown size) │ ├─cli │ ├─fansi │ ├─glue │ ├─lifecycle │ ├─rlang 1.2.3 ✨ ⬇ (unknown size) │ └─vctrs 0.6.1 ✨ ⬇ (unknown size) │ ├─cli │ ├─glue │ ├─lifecycle │ └─rlang ├─pkgconfig 2.0.3 ✨ ⬇ (unknown size) ├─rlang └─vctrs Key: ✨ new | ⬇ download 一个文件夹中的依赖关系 这个tree实在太长了

    85020编辑于 2023-04-17
  • 来自专栏小明的数据分析笔记本

    DESeq2转录组差异表达分析实例

    3.6.1 安装分析过程需要用的的R包 DESeq2 差异表达分析 BiocManager::install("DESeq2") 使用library(DESeq2)加载的时候遇到报错 :载入了名字空间‘rlang ’ 0.4.0,但需要的是>= 0.4.2 解决办法:将rlang包手动删除,rlang所在的路径是\R-3.6.1\library\rlang。 然后使用命令install.packages("rlang")重新安装就可以了 pasilla 使用这个R包中的数据 BiocManager::install("pasilla") 读入数据 library

    2.5K20发布于 2020-03-03
  • 来自专栏小明的数据分析笔记本

    跟着Nature Communications学画图:R语言ggplot2画带有底纹的柱形图

    black", fill="white") 报错是 Error: Don't know the function for pattern point Run `rlang 按照提示运行rlang::last_error(),返回内容 <error/rlang_error> Don't know the function for pattern point Backtrace Run `rlang::last_trace()` to see the full context.

    1.7K20发布于 2021-11-23
  • 来自专栏生信小驿站

    R.python常见问题②(一些需要编译的包)

    在R语言的广泛包中,大部分可以直接install.packages()直接命令安装,但是有些包安装过程比较复杂,例如'lightgbm,ggplot2所依赖的‘rlang’包,devtools所依赖的‘ 当我首先发现install.packages()安装rlang和pkgload时出错 ? ? Rtools 下载Rtools过程注意选择默认路径,且将Rtools下载路径加入系统变量path 重启Rstudio,重新安装上述包 getOption('repos') install.packages("rlang

    1.4K20发布于 2018-12-12
  • 来自专栏北野茶缸子的专栏

    124-R编程18-R的内部机制2

    我们使用new.env()函数创建一个新环境: e1 <- new.env() e2 <- rlang::env( a = 3, b = TRUE, c = 5 ) 或者用rlang:: 如果我们在环境中定义的名字相同,则会将之前的名称覆盖: e3 <- rlang::env( a = 4, a = 2 ) > e3$a [1] 2 我们打印环境,会输出十六进制数表示的内存地址 : > e2 <environment: 0x7fe51994e4b0> > e3 <environment: 0x7fe509e9d668> rlang包的env_print()函数可以给出较多的信息 : > rlang::env_print(e2) <environment: 0x7fe51994e4b0> parent: <environment: global> bindings: * a: 因为变量对应的环境指向的是同一个内存,修改任意其中一个环境中的变量,均发生修改: e3 <- rlang::env( a = 4, a = 2 ) e4 <- e3 > e3$b NULL

    95550编辑于 2022-05-19
  • 来自专栏用户7627119的专栏

    R语言中%||%是什么意思?

    %||%实际上是rlang这个包中的一个函数,我们来看看它的定义 rlang::`%||%` function (x, y) { if (is_null(x)) y 我们来看一个具体的例子 library(rlang) 1 %||% 2 #[1] 1 NULL %||% 2 #[1] 2 其实在其他的一些R包里面这个函数用到的也很多,比如ggplot2这个包里面就用到了

    2.3K20发布于 2020-09-22
  • 来自专栏优雅R

    「R」curly curly,更好的非标准计算

    本文整理自 https://www.tidyverse.org/articles/2019/06/rlang-0-4-0/,有删改 rlang v0.4.0引入了新的非标准计算操作符 {{。

    90710发布于 2020-07-03
  • 来自专栏生信技能树

    两种不同的方法实现harmony的多个单细胞整合

    Run `rlang::last_trace()` to see where the error occurred. > rlang::last_trace() <error/ You can run └─SeuratObject:::GetAssayData.StdAssay(object = object[[assay]], slot = slot) Run rlang::last_trace(drop

    2.6K10编辑于 2024-01-11
  • 来自专栏生信技能树

    数据框的列名居然会影响绘图

    Run `rlang::last_trace()` to see where the error occurred. 如果需要从函数参数中动态选择列,可以使用rlang包中的sym()或!!操作符来避免非预期的列名重复问题。 conf.level = 0.95) # 置信水平 最后还是靠人工debug 定位到了 :https://github.com/IndrajeetPatil/ggstatsplot/issues/396 > rlang Run rlang::last_trace(drop = FALSE) to see 14 hidden frames.

    1.1K10编辑于 2024-11-21
  • 来自专栏R语言数据分析指南

    R中稀奇古怪的代码报错

    个人观点仅供参考 ❞ 案例1 rlang::last_trace() 没有明显的错误出现,但是却有跟rlang相关的字符,这多半是tidyverse版本的问题,此时重新安装tidyverse即可 案例

    64740编辑于 2023-11-13
  • 来自专栏北野茶缸子的专栏

    21. R 茶话会(二:包函数名冲突问题)

    `conflict_prefer()` * conflict_prefer("filter", "dplyr") * conflict_prefer("filter", "stats") Run `rlang Run `rlang::last_error()` to see where the error occurred. 这时候我们可以先看看环境中哪些包有该撞名的函数: ?

    1.5K10编辑于 2021-12-17
  • 来自专栏生信菜鸟团

    R tips:使用!!来增加dplyr的可操作性

    包在数据变换方面非常的好用,它有很多易用性的体现:比如书写数据内的变量名时不需要引号包裹,也不需要绝对引用,而这在多数baseR函数中都不是这样的,比如: library(tidyverse) library(rlang 这些函数在rlang包中有更加系统的相同角色的存在:parse的对应函数是parse_expr(语句还重新变为字符串,使用expr_text)。 下面完成的上述操作的所需的函数都是rlang包中相应函数。 如何使用!! #Run `rlang::last_error()` to see where the error occurred. 此时同样的可以使用expr捕获上述过程的中间态,然后使用!!

    3.1K31发布于 2020-06-19
  • 来自专栏优雅R

    「R」ggplot2在R包开发中的使用

    如果你已经像上面的例子一样事先知道了列名,你可以使用来自rlang[2]的代词.data指代你要使用的图层数据。 为了避免CMD check抛出note,你需要#' @importFrom rlang .data注释块引入该符号名。 autoplot", "discrete_distr") } } 参考资料 [1]roxygen2: https://cran.r-project.org/package=roxygen2 [2]rlang : https://rlang.r-lib.org/ [3]ggdendro: https://cran.r-project.org/package=ggdendro [4]ggthemes: https

    11.4K30编辑于 2022-03-30
  • 来自专栏生信菜鸟团

    两样本孟德尔随机化:代码实操,一学就会

    下载并安装R包 #install.packages("rlang") library(rlang) # Install packages #install.packages("remotes") #

    6.5K13编辑于 2023-09-09
  • 来自专栏生信菜鸟团

    【DoMultiBarHeatmap】单细胞热图

    DoMultiBarHeatmap") #Load library library(DoMultiBarHeatmap) 同时还需要安装这些包: library(ggplot2) library(rlang ) library(Seurat) library(magrittr) 最终完整版—— library(ggplot2) library(viridis) library(rlang) library

    61800编辑于 2025-07-24
领券