R語言中單引號和雙引號,各種括弧的使用有什麼需要注意的地方?
有引號和沒有引號的選擇,單引號和雙引號也不能確切知道如何正確選擇
在R中,表示 character vector 元素的可以用雙引號(")或者單引號()來括起字元串值,兩者除了在包含對方時不用轉意之外,是完全等價的。舉個例子:
a &<- "Hello, world"
b &<- Hello, world
上面兩句是完全等價的,產生了相同的 character vector。不過,有時我們希望產生的字元串中含有定義字元串時用的引號,此時就需要轉義符來表明「特定的引號不是字元串定義結束,而是一個雙引號字元」,例如在產生 You should use "her" in this passage 這句話:
a &<- "You should use "her" in this passage."
b &<- You should use "her" in this passage.
上面兩句的結果也是完全相同的,差異就在於用雙引號定義字元串時,裡面如果包含雙引號字元,那麼就要用"來轉義;單引號定義字元串時需要用到單引號本身那麼就需要用來轉義。
另外還有一個用於表示變數符號的 ` 引號,用該符號可以定義各種各樣的變數名稱,例如:`?.a` &<- c(1,2,3)
`hi+` &<- function(x,y) { x+y }
`hi+`(1,2)
使得各種變數名稱都能定義,提高了語言的容忍度。
謝邀,樓上已經回答得很棒!好記性不如爛筆頭,多實踐、實戰,你會覺得這些操作都是如此得心應手、理所當然的。
關注大數據,歡迎加我們微信:idacker
任坤關於R語言單雙引號轉義的回答已經很清晰了。補充一個小應用,比如說你要手工設定想要保留的factor level,但是有幾十個你懶得一個個打。可以用下面這個function:
# Function for Printing Character Vector
Vector_Print &<- function(x) {
paste(""", x, """, sep = "", collapse = ", ") %&>%
print(., quote = FALSE)
}
注意R在paste的時候默認print出來是帶quote的,要手動設置成FALSE,否則就會自帶轉義符。
推薦閱讀: