R語言中c()函數(shù)與paste()函數(shù)的區(qū)別說明
c()函數(shù):將括號中的元素連接起來,并不創(chuàng)建向量
paste()函數(shù):連接括號中的元素
例如
c(1, 2:4),結(jié)果為1 2 3 4
paste(1, 2:4),結(jié)果為“1 2” “1 3” “1 4”
c(2, "and"),結(jié)果為“2” “and”
paste(2, "and"),結(jié)果為“2 and”
補充:R語言中paste函數(shù)的參數(shù)sep和collapse詳解
R語言用于拼接字符串的函數(shù)主要有兩個:
paste (..., sep = " ", collapse = NULL) paste0(..., collapse = NULL)
其中paste0函數(shù)式paste函數(shù)的縮減版本,少了一個參數(shù)sep。參數(shù)中的......表示的是想要拼接的對象,后面的參數(shù)表示拼接的方式。
通常對于字符串拼接我們有三種需求:
一堆單獨的字符串拼接到一起;
兩個或者更多字符串對象根據(jù)元素對應關系拼接到一起;
一個字符串連接在一起。
舉點例子:
paste('hello','world','!') #一堆單獨的字符串拼接到一起 ## [1] "hello world !" paste(c('A','B','C'),c(1,2,3)) #兩個或者更多字符串對象根據(jù)元素對應關系拼接到一起 ## [1] "A 1" "B 2" "C 3" paste(1:10) #一個字符串連接在一起 ## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
那么兩個參數(shù)的用法是什么樣的呢?
當處理前兩種需求的時候用到的參數(shù)是sep,即多個字符串之間的拼接;
當處理第三種需求的時候用到的參數(shù)是collapse,即一個字符串拼接的時候用什么符號或者格式來連接;
舉點例子:
paste('hello','world','!') #一堆單獨的字符串拼接到一起,如果想用‘_'連接起來 paste('hello','world','!',sep = '_') ## [1] "hello_world_!" paste(c('A','B','C'),c(1,2,3)) #兩個或者更多字符串對象根據(jù)元素對應關系拼接到一起,如果想用‘-'連接起來 paste(c('A','B','C'),c(1,2,3),sep = '-') ## [1] "A-1" "B-2" "C-3" #此外需要注意的是如果傳入的兩個或多個對象的長度不一樣,對應關系會發(fā)生變化,比如 paste(c('A','B','C','D','E'),c(1,2),sep = '-') ## [1] "A-1" "B-2" "C-1" "D-2" "E-1" paste(1:10) #一個字符串連接在一起,這第三種需求與上面很大的不同在于上面兩種需求傳入的都是多個對象,而第三種需求在函數(shù)的第一個參數(shù)位置上只傳入一個對象,如果需要用‘~'連接 paste(1:10, collapse = '~') ## [1] "1~2~3~4~5~6~7~8~9~10"
對于縮減版本的paste0有這樣的等式:
paste0(“a”, “b”) == paste(“a”, “b”, sep=”“)
個人覺得熟悉paste即可,畢竟paste功能更加豐富,用起來更加靈活。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
R語言繪制數(shù)據(jù)可視化Dumbbell?plot啞鈴圖
這篇文章主要為大家介紹了R語言繪制數(shù)據(jù)可視化Dumbbell?plot啞鈴圖的實現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02