php mysql in占位符赋值_R中的管道符-magritter

5b523909fcae1bc6ae6db610f7fd1cb7.png

我一直不舍得完全从R转到python有很多原因,但是其中最舍不得的两个就是ggplot2和magritter,完全使我的R语言代码变得高效而且简介,今天就来详细介绍一下R中的pipe operator的包-magritter

关于magritter的包描述是这样的:A Forward-Pipe Operator for R

14dfe13913b54a30c817d2f9a44c4c71.png

安装:

# 直接从tidyverse中使用:
install.packages("tidyverse")

# 或者直接安装:
install.packages("magrittr")

# 从GitHub下载开发版本:
# install.packages("devtools")
devtools::install_github("tidyverse/magrittr")

使用方法:

1.基本用法

x %>% f 等价于 f(x)
x %>% f(y) 等价于 f(x, y)
x %>% f %>% g %>% h  等价于 h(g(f(x)))
----------------------------------
x %>% f(y, .) 等价于 f(y, x)
x %>% f(y, z = .) 等价于 f(y, z = x)

如果数据作为函数的第一个参数的话,是不需要placeholder的,但是如果是第二或者更后面的参数,就需要使用 . 作为占位符。

2.构建函数

f <- . %>% cos %>% sin 
等价为
f <- function(.) sin(cos(.)) 

3.%>%, %$%和%<>%的用法

%>%是最常用的一种前向管道符。

%<>%是表示将变量传入函数,得到的结果返回给原来的变量

iris %<>% na.omit() 等价于 iris<-na.omit(iris)

%$%是使用变量的name来表示该变量下name的数值

df<-data.frame("a"=c(1,2,3), "b"=c(4,5,6))

cor(df$a, df$b) 等价于 df %$% cor(a,b)

4.其余函数的解释:

extract	              `[`                   iris['Sepal.Length'] 等价于raise_to_powerly_byextract("SepSepal.等价于等价于LengthSepal.LengthSepal.Lengthal.Length")
extract2	              `[[`                  iris$Sepal.Length 等价于 iris %>% extract2('Sepal.Length')
inset	                      `[<-`               iris['aa']=1 等价于 iris %>% inset("aa",value=1)
inset2	              `[[<-`              iris['aa']=1 等价于 iris %>% inset2("aa",value=1)
use_series	              `$`                  iris$Sepal.Length 等价于 iris %>% use_series("Sepal.Length")
add	                      `+`                  iris %>% use_series("Sepal.Length") %>% add(1)
subtract	              `-`                  iris %>% use_series("Sepal.Length") %>% subtract(1)
multiply_by  	      `*`                  iris %>% use_series("Sepal.Length") %>% multiply_by(1)
raise_to_power	      `^`                  iris %>% use_series("Sepal.Length") %>% raise_to_power(2)
multiply_by_matrix     `%*%`            
divide_by	              `/`
divide_by_int            `%/%`
mod	                      `%%`
is_in	                      `%in%`
and	                      `&`
or	                      `|`
equals	              `==`
is_greater_than	      `>`
is_weakly_greater_than	`>=`
is_less_than	      `<`
is_weakly_less_than	`<=`
not (`n'est pas`)	      `!`
set_colnames	      `colnames<-`     iris %>% set_colnames(c('a','b','c','d'....))
set_rownames	      `rownames<-`     iris %>% set_rownames(c('a','b','c','d'....))
set_names	              `names<-`

在文档里面解释了常用的几种函数和方法,具体的内容大家可以参照如下链接:

Abstract​cran.r-project.org
07391e27f4a8774d66da2b7faf6b509d.png
tidyverse/magrittr​github.com
d633d682cdbf4c4e877f8ac8c47a4d71.png

如果对有些函数还是不知道怎么使用的话,强烈建议大家去R里面用一些示例数据去运行一下,这样对于R数据包有更多的认识。

最后说一下我正在做的一个GitHub项目-Road2R,是包含了所有我使用过的包和资料和博客的一个集合,我会不断完善,同时也希望大家可以多多pull requests。

Ronlee12355/Road2R​github.com
04cb93a69dea03a1a14c52cc4ee5560b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值