R基本用法和链接
示例
管道运算符,%>%用于将参数插入函数。它不是该语言的基本功能,只能在附加提供该语言的软件包后才能使用magrittr。管道运算符采用管道的左侧(LHS),并将其用作函数的右侧的第一个参数(RHS)。例如:
library(magrittr) 1:10 %>% mean # [1] 5.5 # is equivalent to mean(1:10) # [1] 5.5
管道可用于替换一系列函数调用。多个管道允许我们从左到右而不是从内到外读取和写入序列。例如,假设我们已将years其定义为一个因子,但想将其转换为数字。为了防止可能的信息丢失,我们首先转换为字符,然后转换为数字:
years <- factor(2008:2012) # nesting as.numeric(as.character(years)) # piping years %>%as.character%>% as.numeric
如果我们不希望将LHS(左手侧)用作RHS(右手侧)上的第一个参数,则有一些变通方法,例如命名参数或.用于指示管道输入的位置。
# example with grepl # its syntax: # grepl(pattern, x,ignore.case= FALSE, perl = FALSE, fixed = FALSE, useBytes = FALSE) # note that the `substring` result is the *2nd* argument of grepl grepl("Wo", substring("Hello World", 7, 11)) # piping while naming other arguments "Hello World" %>% substring(7, 11) %>% grepl(pattern = "Wo") # piping with . "Hello World" %>% substring(7, 11) %>% grepl("Wo", .) # piping with . and curly braces "Hello World" %>% substring(7, 11) %>% { c(paste('Hi', .)) } #[1] "Hi World" #using LHS multiple times in argument with curly braces and . "Hello World" %>% substring(7, 11) %>% { c(paste(. ,'Hi', .)) } #[1] "World Hi World"