就是把左件的值发送给右件的表达式,并作为右件表达式函数的第一个参数,就是管道函数。
例如:
anscombe_tidy <- anscombe %>%mutate(observation = seq_len(n()))
以上代码等价于:
anscombe_tidy=mutate(anscombe,observation = seq_len(n()))
扩展资料:1、管道函数的作用
%>%来自dplyr包的管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存。
符号%>%,这是管道操作,其意思是将%>%左边的对象传递给右边的函数,作为第一个选项的设置(或剩下唯一一个选项的设置)
2、管道函数的语法
在普通的函数中,使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端。如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。
关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合,在函数中,PIPE ROW语句被用来返回该集合的单个元素,函数以一个空的RETURN 语句结束,以表明它已经完成。
例如:
create or replace type MsgType as table of varchar2(4000)
/
create or replace function f_pipeline_test return MsgType
PIPELINED as
begin
for i in 1 .. 10 loop
pipe row('Iteration ' || i || ' at ' || systimestamp)
sys.dbms_lock.sleep(1)
end loop
pipe row('All done!')
return
end
/
$curl = curl_init()curl_setopt($curl,CURLOPT_URL,$_GET['url'])
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true)
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0
(compatibleMSIE 6.0Windows NT 5.1SV1.NET CLR 1.1.4322.NET CLR 2.0.50727)")
$output = curl_exec($curl)
curl_close($curl)
print_r($output)
k <- list()
for(i in 1:1000)
{
k[[i]] <- nn2()
}
newdata=c() #1
for(i in 1:1000)
{
#方法一:三次样条法
library(splines)
m1 <- lm(h~bs(a,df=3),data=k[[i]])
#预测百分位数值
new <- data.frame(a=7:20)
cs.p <- predict(m1, new)
#均方差
mse.cs <- sum( (st$p50-cs.p)^2 )/14
#最大范数误差
mne.cs <- max(abs(st$p50-cs.p))
newdata<-rbind(newdata,mse.cs) #2
print(newdata) #3
}
aa<-mean(newdata) #4
新建newdata来保存循环的结果,以便对循环的结果进行后续操作比如求均值并保存在aa中