與linux中的管道符(
|
)功能相似,都可以進(jìn)行數(shù)據(jù)信息的傳遞鹃共。
%>%
:來(lái)自dplyr包的管道函數(shù)橙垢,我們可以將其理解為車(chē)間里的流水線(xiàn),經(jīng)過(guò)前一步加工的產(chǎn)品才能進(jìn)入后一步進(jìn)一步加工迅腔,其作用是將前一步的結(jié)果直接傳參給下一步的函數(shù)装畅,從而省略了中間的賦值步驟,可以大量減少內(nèi)存中的對(duì)象沧烈,節(jié)省內(nèi)存掠兄。
使用
1、向量取子集的方法
1) 根據(jù)邏輯值
2) 根據(jù)位置取子集
按照邏輯值取子集,"[ ]"內(nèi)應(yīng)該是一個(gè)與變量等長(zhǎng)的邏輯值向量蚂夕,按照位置取迅诬,"[ ]"內(nèi)則應(yīng)該是表示元素位置的數(shù)值型向量
%in% 符號(hào)
x %in% y 的意思是對(duì)x里的每個(gè)元素進(jìn)行判斷,判斷它是否在y中存在婿牍,存在就返回TRUE侈贷,不存在就返回FALSE。
注意等脂,它的返回值與其他符號(hào)一樣俏蛮,是一個(gè)與x等長(zhǎng)的邏輯值向量
例如:
可以看到在順序顛倒以后雖然結(jié)果一致,但不能應(yīng)用于所有場(chǎng)景上遥。
那么x[ x %in% y],可以寫(xiě)成 y[x %in% y]嗎搏屑?
當(dāng)然不可以,因?yàn)?[]"里的邏輯值向量要求和x長(zhǎng)度一致粉楚,而 y %in% x返回的向量是與y的長(zhǎng)度一致辣恋,邏輯是錯(cuò)的。
例如:
三解幼、
可以使用NULL來(lái)去掉列和行
更改列的順序
更換列名: