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,否則就會自帶轉義符。


推薦閱讀:

TAG:數據分析 | R編程語言 |