%>%
%>%是R語(yǔ)言中一個(gè)非常常用的函數(shù),它是“pipe”操作符。這個(gè)操作符的作用是將前一個(gè)函數(shù)的輸出作為后一個(gè)函數(shù)的輸入柠贤。它的使用方法是將前一個(gè)函數(shù)的輸出(通常是函數(shù)的調(diào)用結(jié)果)放在%>%的左邊穗熬,將后一個(gè)函數(shù)放在%>%的右邊濒翻。
舉例:
mtcars %>% head() %>% summary()
在這個(gè)例子中中狂,mtcars是一個(gè)R的數(shù)據(jù)框凫碌,head()和summary()都是R的內(nèi)置函數(shù),分別用于獲取數(shù)據(jù)的前幾行和數(shù)據(jù)的總結(jié)信息胃榕。
%>%的作用是將mtcars的輸出作為head()的輸入盛险,然后head()的輸出又作為summary()的輸入。換句話說勋又,這個(gè)代碼將會(huì)首先獲取mtcars數(shù)據(jù)的前幾行苦掘,然后對(duì)這幾行數(shù)據(jù)進(jìn)行統(tǒng)計(jì)描述。
這個(gè)操作符的使用可以使得代碼更加簡(jiǎn)潔赐写、易于理解鸟蜡,因?yàn)樗梢詫⒍鄠€(gè)函數(shù)串聯(lián)起來,形成一個(gè)連續(xù)的操作流程挺邀。
dplyr::select
dplyr::select 是一個(gè)在 R 語(yǔ)言中用于數(shù)據(jù)操作的非常方便的函數(shù)揉忘。它主要用于選擇數(shù)據(jù)框中的列。這個(gè)函數(shù)的行為會(huì)根據(jù)你輸入的參數(shù)類型和順序而變化端铛。
下面是幾種不同的使用方式:
- 選擇所有的列:如果你不提供任何參數(shù)泣矛,那么 select 將會(huì)返回?cái)?shù)據(jù)框中的所有列。
iris %>% select()
- 選擇特定的列:你可以通過列的名稱來選擇單個(gè)列或者是一組列禾蚕。
iris %>% select(Species)
iris %>% select(Species, Sepal.Length, Sepal.Width)
- 使用正則表達(dá)式選擇列:你也可以使用正則表達(dá)式來選擇符合特定模式的列您朽。
iris %>% select(matches("Sepal"))
- 忽略控制字符和特殊字符:在選擇列時(shí),select 函數(shù)會(huì)忽略所有的控制字符以及特殊字符换淆。
iris %>% select(1:3) #這將會(huì)選擇第一哗总、第二和第三列,而不是控制字符 '1', '2', '3'
- 重命名和重排序:你也可以通過 select 函數(shù)來重命名或者重新排序你的列倍试。
iris %>% select(Species:Sepal.Length) # 選擇并重新排序
iris %>% select(Species:mean(Sepal.Length)) # 選擇并重命名
請(qǐng)注意讯屈,你需要先安裝并加載 dplyr 包才能使用 select 函數(shù)。你可以通過下面的命令來安裝和加載 dplyr:
install.packages("dplyr") # 安裝
library(dplyr) # 加載
gsub
gsub是R語(yǔ)言中的一個(gè)函數(shù)县习,用于在整個(gè)字符串中全局搜索特定的模式涮母,并替換所有匹配的文本。它是在stringr包中定義的躁愿,也可以直接在基礎(chǔ)R語(yǔ)言中使用叛本。
函數(shù)的語(yǔ)法如下:
gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE)
參數(shù)說明:
pattern:要搜索的模式,可以是字符串或正則表達(dá)式彤钟。
replacement:用于替換匹配文本的字符串来候。
x:要進(jìn)行替換操作的字符串。
ignore.case:一個(gè)邏輯值样勃,指示是否忽略模式匹配的大小寫吠勘。默認(rèn)為FALSE性芬,即區(qū)分大小寫。
perl:一個(gè)邏輯值剧防,指示是否使用Perl正則表達(dá)式語(yǔ)法植锉。默認(rèn)為FALSE,表示使用基礎(chǔ)R正則表達(dá)式語(yǔ)法峭拘。
下面是一個(gè)簡(jiǎn)單的示例:
text <- "Hello, World! Welcome to the world of R."
new_text <- gsub("world", "planet", text, ignore.case = TRUE)
print(new_text)
輸出結(jié)果:
"Hello, planet! Welcome to the planet of R."
在這個(gè)示例中俊庇,我們使用gsub函數(shù)將字符串中的"world"替換為"planet",并將ignore.case參數(shù)設(shè)置為TRUE以忽略大小寫鸡挠。因此辉饱,"World"和"world"都被替換為"planet"。
"ranks"向量
"ranks"向量通常用于排序或排名任務(wù)拣展。在R語(yǔ)言中彭沼,我們可以使用rank()函數(shù)對(duì)向量進(jìn)行排序,它會(huì)返回每個(gè)元素在向量中的位置备埃。例如:
vec <- c(3, 1, 2, 5, 4)
ranked <- rank(vec)
在這個(gè)例子中姓惑,ranked將是一個(gè)向量,包含vec中每個(gè)元素的位置按脚,從最低到最高于毙。注意,rank()函數(shù)返回的位置是基于排序后的順序辅搬,而不是原始的順序唯沮。