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

R tips: rlangexpression操作符

这是一个rlang定义一个操作符函数。 它本质原理在于:R在运行代码时,会先将代码解析成叫做expression中间态,然后再执行expression即可获取代码结果。...在rlang,expr函数类似于expression函数(expr函数暂停后代码对象是call,基本上和expression是一个意思就行,以下统一使用expression),而eval_tidy...var_name =" 但是会报错,原因是因为在R=操作符要求比较严格,如果是引号括起来就没有问题了,但是括起来时候,!!...var_name := 1))) #$test #[1] 1 列表可以使用list2函数,但是如果是向量的话,rlang包是没有c2函数,这个时候可以先用list2处理,然后unlist函数转换为向量...mean_by_group,就像在使用dplyr函数一样,不需要引号包括。

1.5K10

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

dplyr包在数据变换方面非常好用,它有很多易用性体现:比如书写数据内变量名时不需要引号包裹,也不需要绝对引用,而这在多数baseR函数中都不是这样,比如: library(tidyverse)...下面完成上述操作所需函数都是rlang相应函数。 如何使用!!...辅助dplyr完成编程工作 上面的例子,之所以group_var不起作用,是因为dplyr直接将group_var当做变量名,然后去mtcars寻找名字叫做group_var列,这肯定是会报错。...mean_manual获得此分组元素需要使用ensym,也就是ensym(.grp_v),因为此时.grp_v是形参,如果要获取实参值并转换为Symbol,需要使用ensym,而不是sym。...在mutate完成新变量名编程 假如想要在mutate中使用变量对新变量进行设置,其结果并不会如愿,比如,将新变量名var_name赋值为“gear_new",使用var_name进行mutate操作

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

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

第一个图很爽 【画图】SARS-CoV-2结合宿主细胞受体ACE2在人组织表达情况 话说上次站长画了一个图,还公布了代码,我照搬过来很是爽了一下,相当于白piao了站长一回,不过用read.csv...好在Rdebug系统非常完善,输入rlang::last_error() 之后就能看上次报错错在哪里,这时候发现原来卡在 rlang::ensym(y) 这里,那么这个函数为什么会报错呢?...简单搜索一下就发现了,原来它还有个兄弟函数叫 rlang::sym( ),rlang::ensym( )好处是不管字符串加不加引号,都可以转化为字符串,但是,非常坑地方是rlang::ensym(...)函数在转化字符串时候,会先判断参数时候是函数,说到这里是不是有点晕了,直接看例子吧: 看到没有,如果rlang::ensym( ) 里面即使放一个向量也是不可以,必须是字符串,而rlang ::...那么推测原因,ggstatsplot包之前版本用rlang :: sym ( ) 函数,而新版本时候作者脑子抽风改成了 rlang::ensym ( )。 那么问题找到了,该怎么办呢?

28520

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

最近碰巧看到王诗翔这篇文章,再次学习,顺便将笔记yuque 发至公众号。共勉。 因为内容有些多,拆成两个部分介绍。...R对象有值,但不必有对应变量名变量名必须经过绑定才有对应值和存储位置。 我们可以通过变量获得对象所在地址(存储位置),并获得对象值。...上面操作不难发现,这两个向量值相同,并共享内存地址,说明它们指向相同数据,而赋值操作并没有自动复制数据。 但当我们对其中一个变量进行修改之后,其立刻制作了副本。...我们使用new.env()函数创建一个新环境: e1 <- new.env() e2 <- rlang::env( a = 3, b = TRUE, c = 5 ) 或者用rlang::...因为变量对应环境指向是同一个内存,修改任意其中一个环境变量,均发生修改: e3 <- rlang::env( a = 4, a = 2 ) e4 <- e3 > e3$b NULL

61150

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

标签:机器学习 作者前言 我使用Iris数据集训练了一系列机器学习模型,数据极端值合成了新数据点,并测试了许多机器学习模型来绘制出决策边界,这些模型可根据这些边界在2D空间中进行预测,这对于阐明目的和了解不同机器学习模型如何进行预测会很有帮助...在下面的代码,我导入了iris数据并删除了一种植物物种virginica,以将其多重分类转变为二元分类问题。...我首先采用ggplot来绘制数据,以下储存ggplot对象,每个图仅更改x和y变量选择。...我将使用到上面图中每个数据点训练以下模型: 逻辑回归模型 支持向量机+线性核 支持向量机+多项式核 支持向量机 +径向核 支持向量机+sigmoid核 随机森林 默认参数下XGBoost模型 单层Keras...使用以下软件包版本(即使用最新软件包版本),代码正常运行。

1.7K40

Day 5

向量2.1 标量和向量区分元素”:元素指的是数字或者字符串(用chr表示)等,根据它可以区分两个词:①标量:一个元素组成变量②向量:多个元素组成变量(补充:一个向量是一排有序排列元素,以后会用到把一个向量作为数据框一列情况...2.2 向量中提取元素2.2.1 根据元素位置这里x是你刚才赋值变量名,根据自己情况来修改2.2.2 根据值xx==10#等于10元素xx<0xx %in% c(1,2,5)#存在于向量c(1...分隔符改为逗号,字符串不加双引号(默认格式带由双引号)3.4 变量保存与重新加载这次没有处理完数据下次想接着用怎么办?...刚才让师姐测试我教程时候很担忧你们粗暴地复制我代码,最后啥也没看懂。)3.6 直接使用数据框变量iris是R语言内置数据,可以直接使用。...提取某两列作散点图:plot(iris$Sepal.Length,iris$Sepal.Width)由于昨天没有用到脚本窗口,这里正好学习一下脚本使用和保存:将上面的代码复制到一个新R脚本

6210

R语言18讲(三)

我们在做数据分析工作前提,当然是得有数据,巧妇难为无米之炊,所以数据获取和产生是非常重要和基础,然而,在当前互联网时代,信息非常膨胀,我们获取数据方式很多,这里简单将其归为三类, 1,自己输入数据...2,数据源导入数据 3,网络上爬取数据.我们按照易到难,从简单到复杂方式排列.来讲讲数据获取....或者 (T,F,T,T,F)我们用C( )创建,括号里写数据就可以,注意字符型要用双引号,或者seq(起始数,终止数,其他参数 )来创建序列向量,rep( 数据,其他参数 )创建重复型向量...目前数据源太多了,数据源格式也非常之多,幸好R兼容性非常好,能从各种不同数据源获取数据,这里只简单介绍几个比较常用数据导入方式 1.导入CSV格式数据 read.csv("E:\\课件\\11....csv")引号下面就是你要导入文件路径.当如果文件存放R工作空间时,便可以直接忽略路径,在引号下写出文件名和后缀即可如 read.csv("21.csv")导入其他格式数据也是如此,当没有写路径时

1.5K60

R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

2.2 sample_n dplyr 包 sample_n(tbl, size) 函数可以数据集 tbl 随机放回抽取 size 行,如: > d.class %>% sample_n(size...按列号 select(test,1) select(test,c(1,5)) 按列名 如果想要用向量来存放希望筛选列名,需要使用函数 one_of 来存放该向量。...对于待分离对象(col),不必加上引号;但对于即将创建新列(into),需要使用引号,由于是两列,这里使用向量创建。sep参数设定读取表格信息时以何符号作为分隔符。...对于即将合并新列,需要使用引号;但对于想要合并多个列名,可以不用使用引号。sep 参数设定多列合并后不同数据分隔使用分割符。...,获取指定组别不同类型内容统计数值。

10.7K30

Linux Shell基础篇二 - 变量

在bash环境, 变量默认类型都是字符串类型, 无法直接进行数值运算 变量值如果有空格, 必须使用引号括起来 不能使用Shell关键字作为变量名称 变量取值: 12345 # 语法1: 直接使用变量名查询...$* 与 $@ 获取所有输入参数数据区别: 如果不使用引号, 功能一样, 获取所有参数数据为一个字符串, 如果使用了双引号, $@获取就是参数列表对象, 每个参数都是一个独立字符串。...区别: 不使用引号括起来, 功能一样 *和@获取所有输入参数,格式为: 1 2 … 使用引号括起来 “*“获取所有参数拼接为一个字符串, 格式为: “1 2 … n” “@“获取一组参数列表对象...${变量名:start} string 字符串左边第 start 个字符开始截取,直到最后。...${变量名#*chars} string 字符串第一次出现*chars位置开始,截取*chars右边所有字符。

2.7K40

第5天生信学习笔记-微信公众号生信星球

:标量:一个元素组成变量向量:多个元素组成变量(补充:一个向量是一排有序排列元素,以后会用到把一个向量作为数据框一列情况。)...2.向量中提取元素(1)根据元素位置#这里x是你刚才赋值变量名,根据自己情况来修改x[4] #x第4个元素x[-4]#排除法,除了第4个元素之外剩余元素x[2:4]#第2到4个元素x[-(2:...,字符串不加双引号(默认格式带由双引号) (4)变量保存与重新加载#这次没有处理完数据下次想接着用怎么办?...RData时加载命令(5)提取元素(这里X是的刚才变量名,实际应用要懂得替换。...提取某两列作散点图:plot(iris$Sepal.Length,iris$Sepal.Width)学习一下脚本使用和保存:将上面的代码复制到一个新R脚本

13410

R 字符串之 glue

前言 今天我们要介绍是 tidyverse 中格式化字符串软件包:glue glue 提供了轻巧、快速和依赖可解释字符串,glue 通过将 R 表达式嵌入到花括号,然后对其求值并将其插入字符串...通过将变量名放置在一对花括号之间,glue 会将变量名替换为相应值 字符串可以写成多行形式,最后会自动将这些行连接起来 > name <- "Fred" > age <- 50 > anniversary...字符串向量折叠 可以使用 glue_collapse 将任意长度字符串向量折叠为长度为 1 字符串向量 glue_collapse(x, sep = "", width = Inf, last =..."") x :字符串向量 sep :用来分隔向量中元素字符串 width :折叠之后加上 ......单个元素引用 下面三个对单个元素引用函数可以搭配 glue_collapse 使用 single_quote(x):用单引号包裹字符串元素 double_quote(x):用双引号包裹字符串元素 backtick

61320

2023.4生信马拉松day2-数据类型

not found: 要么该赋值没赋值(该起名字没起名字),要么该加引号没加引号 -(2)could not find function: 函数名字打错了-拼写错误/大小写错误(或者以后会遇到该装包还没装...paste0(rep("x",times = 3),1:3) 7.对单个向量操作 -(1)赋值给一个变量名 -变量名选择原则:尽量避免和函数名冲突;尽量不涉及特殊字符,不涉及中文字符;尽量字母在前数字在后...x %in% y #看x每个元素在y存在吗 y %in% x #看y每个元素在x存在吗 #x == y和x %in% y区别:前者是x和y对应位置一对一比较,是等位运算;后者是x每一个元素都要和...4] x[c(1,5)] x[-4] x[-(2:4)] -练习题:如何13个数筛选大于7 (1)将13个数作为向量赋值给x (2)x>7 #判断,之后会返还13个TRUE/FAUSE (3)[]...将TRUE对应值挑选出来,FALSE丢弃 10.修改向量某个/某些元素:取子集+赋值 没有赋值就没有发生过!

69430

生信学习小组Day5笔记—Chocolate Ice

图片向量概念解释:元素:指的是数字或者逻辑或者字符串标量:一个元素组成变量向量:多个元素有序排列组成变量(元素数据类型必须统一,要么全是数字,要么全是字符串)图片向量中提取元素!!!...-(2:4)]#除了第2-4个元素x[c(1,5)] #第1个和第5个元素(2)根据值x[x==10]#等于10元素x[x<0]x[x %in% c(1,2,5)]#存在于向量c(1,2,5)元素数据框概念解释...行列之间数据类型可以不一样(矩阵内每个元素都必须是一样数据类型)读取本地数据在工作目录下新建文本文件(.txt),粘贴以下内容X1 X2A 1B 2C 4D 3E 7尝试使用...数据框导出write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带由双引号) 变量保存与重新加载save.image...报错原因:没有X这个变量,可能是本来没有新建X这个变量,也可能是变量名字打错了(比如大小写)解决方法:在environment找找是否有这个变量,核查变量名输入是否正确

97600

day3

向量标量和向量区分元素:指数字或字符串字符串需要加引号,如“huahua”标量:一个元素组成变量向量:多个元素组成变量;一个向量是一排有序排列元素。...如c(1,2,3);c(“doudou”,“huahua”)赋值x<-c(1,2,3) 将x元素定义为由元素1,2,3组成向量x<-1:10 将x元素定义为1到10之间所有整数x<-seq...(1,10,by=0.5) 将x元素定义为1到10之间每隔0.5取一个数x-rep(1:3,times=2) 将x元素定义为1到3,重复2次赋值以最后一次为准向量中提取元素根据元素位置(x是刚刚赋值变量名...x[x==10] 等于10元素x[x<0]x[x%in%c(1,2,5)] 存在于向量c(1,2,5)元素数据框读取本地数据read.table函数——read.table("file",...X[y ]——第y列X[a:b]——第a列到第b列X[c(a,b)]——第a列和第b列X$列名直接使用数据框变量

13320

R语言基础教程——第8章:文件输入与输出

:/”通过SEP来指定; 3) 可以通过list指定读入变量变量名,同时生成对象为列表,则可以同时读入字符与数字; 4) skip 第几行开始读入数据; 5) nlines 指定最大读入行数...> bb = readline() 123434435 > bb [1] "123434435" 3 print()和cat()函数 在交互模式下,只需要键入变量名或者表达式,就可以获取数据结果,但在函数体内部变量就无法显示...用于指定文件数字转换为双精度数据时丢失精度情况下如何进行转换。 (7)row.names 保存行名向量。可以使用此参数以向量形式给出每行实际行名。...值在读取数据时候转换成NA (11)colClasses 用于指定列所属类字符串向量。 (12)nrows 整型数。用于指定文件读取最大行数。负数或其它无效值将会被忽略。...读取数据时忽略行数。 (14)check.names 逻辑值。该参数值设置为TRUE时,数据框变量名将会被检查,以确保符在语法上是有效变量名称。 (15)fill 逻辑值。

4.6K31

Day5-学习笔记(2024年2月2日)

, TRUE)#逻辑型注意:单个向量数据必须拥有相同类型或模式标量是只含一个元素向量,eg:a <- 3, g <- "US", h <- TRUE在方括号给定元素所在位置数值,我们可以访问向量元素...制表符/、换行或回车向量中提取元素1、根据元素位置x[4] #x第4个元素x[-4]#排除法,除了第4个元素之外剩余元素x[2:4]#第2到4个元素x[-(2:4)]#除了第2-4个元素x[c(1,5...(a,file = "yu.txt",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带有双引号)4、变量保存和重新加载#这次没有处理完数据下次想接着用怎么办?...)6、直接使用数据框变量iris是R语言内置数据,可以直接使用。...提取某两列作散点图:plot(iris$Sepal.Length,iris$Sepal.Width)图片脚本使用和保存:将上面的代码复制到一个新R脚本,然后保存到工作目录下,再次打开,后缀是R。

11800

shell学习(八)Shell变量

本地变量 定义Shell变量,变量名不需要加美元符号 $ 本地变量只在当前shell生存期中有效 变量定义 变量名要求:字母、数字、下划线组成,只能是字母或下划线开头,变量名严格区分大小写 取出变量值...单引号,强引用 双引号,输出引号内所有内容,识别特殊符号,弱引用 引号,连续符号可以不加引号,有空格则有歧义,最好使用引号引号,引用命令执行结果,等于$()用法 特殊参数变量 shell特殊变量...,用在如脚本,函数传递参数使用,有如下特殊,位置参数变量 $0 获取shell脚本文件名,以及脚本路径 $n 获取shell脚本第n个参数,n在1~9之间,如$1,$2,$9,大于9则需要写...${10},参数空格隔开 $# 获取执行shell脚本后边参数总个数 $* 获取shell脚本所有参数,不加引号等同于$@作用,加上引号"$*"作用是接收所有参数为单个字符串,"$1 $2...但是当它们被双引号" "包含时,就会有区别了: "$*"会将所有的参数整体上看做一份数据,而不是把每个参数都看做一份数据。

76700

生信星球学习小组-Day5学习笔记--R语言数据结构

向量向量是用于存储数值型、字符型或逻辑型数据一维数组,可以使用c()函数来创建,但一个向量元素必须是相同数据类型。...1.创建向量并赋值图片2.提取向量元素根据元素位置提取元素向量中元素位置索引是1开始,依次1,2,3,4...图片根据判断布尔值提取元素布尔值是“真” True 或“假” False 一个...图片数据框数据框可以理解为二维数据表,每一行代表一条记录,每一列代表一个属性,可以使用data.frame()函数来创建。不同于矩阵,数据框每一列数据类型可以不同。...# header = T 意思就是将第一行数据作为各列变量名2.设置行名和列名图片3.提取元素图片我们可以用指定行名提取数据方法绘制散点图plot(iris$Sepal.Length,iris$Sepal.Width...(默认格式带由双引号) 5.

45900
领券