1 回答

TA貢獻1804條經驗 獲得超7個贊
就是把左件的值發送給右件的表達式,并作為右件表達式函數的第一個參數,就是管道函數。
例如:
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;
- 1 回答
- 0 關注
- 3164 瀏覽
添加回答
舉報