在R語(yǔ)言中的單引號(hào)或雙引號(hào)對(duì)中寫(xiě)入的任何值都被視為字符串。 R語(yǔ)言存儲(chǔ)的每個(gè)字符串都在雙引號(hào)內(nèi),即使是使用單引號(hào)創(chuàng)建的依舊如此。
在字符串的開(kāi)頭和結(jié)尾的引號(hào)應(yīng)該是兩個(gè)雙引號(hào)或兩個(gè)單引號(hào)。它們不能被混合。
雙引號(hào)可以插入到以單引號(hào)開(kāi)頭和結(jié)尾的字符串中。
單引號(hào)可以插入以雙引號(hào)開(kāi)頭和結(jié)尾的字符串。
雙引號(hào)不能插入以雙引號(hào)開(kāi)頭和結(jié)尾的字符串。
單引號(hào)不能插入以單引號(hào)開(kāi)頭和結(jié)尾的字符串。
以下示例闡明了在 R 語(yǔ)言中創(chuàng)建字符串的規(guī)則。
a <- 'Start and end with single quote' print(a) b <- "Start and end with double quotes" print(b) c <- "single quote ' in between double quotes" print(c) d <- 'Double quotes " in between single quote' print(d)
當(dāng)運(yùn)行上面的代碼,我們得到以下輸出 -
[1] "Start and end with single quote" [1] "Start and end with double quotes" [1] "single quote ' in between double quote" [1] "Double quote " in between single quote"
e <- 'Mixed quotes" print(e) f <- 'Single quote ' inside single quote' print(f) g <- "Double quotes " inside double quotes" print(g)
當(dāng)我們運(yùn)行腳本失敗給下面的結(jié)果。
...: unexpected INCOMPLETE_STRING .... unexpected symbol 1: f <- 'Single quote ' inside unexpected symbol 1: g <- "Double quotes " inside
R語(yǔ)言中的許多字符串使用 paste() 函數(shù)組合。 它可以采取任何數(shù)量的參數(shù)組合在一起。
對(duì)于粘貼功能的基本語(yǔ)法是 -
paste(..., sep = " ", collapse = NULL)
以下是所使用的參數(shù)的說(shuō)明 -
... 表示要組合的任意數(shù)量的自變量。
sep 表示參數(shù)之間的任何分隔符。它是可選的。
collapse 用于消除兩個(gè)字符串之間的空格。 但不是一個(gè)字符串的兩個(gè)字內(nèi)的空間。
a <- "Hello" b <- 'How' c <- "are you? " print(paste(a,b,c)) print(paste(a,b,c, sep = "-")) print(paste(a,b,c, sep = "", collapse = ""))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "Hello How are you? " [1] "Hello-How-are you? " [1] "HelloHoware you? "
可以使用 format() 函數(shù)將數(shù)字和字符串格式化為特定樣式。
格式化函數(shù)的基本語(yǔ)法是 -
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
以下是所使用的參數(shù)的描述 -
x 是向量輸入。
digits 是顯示的總位數(shù)。
nsmall 是小數(shù)點(diǎn)右邊的最小位數(shù)。
科學(xué)設(shè)置為 TRUE 以顯示科學(xué)記數(shù)法。
width 指示通過(guò)在開(kāi)始處填充空白來(lái)顯示的最小寬度。
justify 是字符串向左,右或中心的顯示。
# Total number of digits displayed. Last digit rounded off. result <- format(23.123456789, digits = 9) print(result) # Display numbers in scientific notation. result <- format(c(6, 13.14521), scientific = TRUE) print(result) # The minimum number of digits to the right of the decimal point. result <- format(23.47, nsmall = 5) print(result) # Format treats everything as a string. result <- format(6) print(result) # Numbers are padded with blank in the beginning for width. result <- format(13.7, width = 6) print(result) # Left justify strings. result <- format("Hello", width = 8, justify = "l") print(result) # Justfy string with center. result <- format("Hello", width = 8, justify = "c") print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "23.1234568" [1] "6.000000e+00" "1.314521e+01" [1] "23.47000" [1] "6" [1] " 13.7" [1] "Hello " [1] " Hello "
此函數(shù)計(jì)算字符串中包含空格的字符數(shù)。
nchar() 函數(shù)的基本語(yǔ)法是 -
nchar(x)
以下是所使用的參數(shù)的描述 -
x 是向量輸入。
result <- nchar("Count the number of characters") print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] 30
這些函數(shù)改變字符串的字符的大小寫(xiě)。
toupper()和tolower()函數(shù)的基本語(yǔ)法是 -
toupper(x) tolower(x)
以下是所使用的參數(shù)的描述 -
x是向量輸入。
# Changing to Upper case. result <- toupper("Changing To Upper") print(result) # Changing to lower case. result <- tolower("Changing To Lower") print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "CHANGING TO UPPER" [1] "changing to lower"
此函數(shù)提取字符串的部分。
substring() 函數(shù)的基本語(yǔ)法是 -
substring(x,first,last)
以下是所使用的參數(shù)的描述 -
x 是字符向量輸入。
首先是要提取的第一個(gè)字符的位置。
last 是要提取的最后一個(gè)字符的位置。
# Extract characters from 5th to 7th position. result <- substring("Extract", 5, 7) print(result)
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
[1] "act"
更多建議: