[英]Differences between character() and “” in R
只是意識到輸出是不同的:
> y=""
> y
[1] ""
> y=character()
> y
character(0)
然而,沒有發生任何奇怪的事。 我不清楚這些差異,並希望清楚地記住這個問題(如果有的話)。 所以,謝謝你的幫助。
character(0)
是具有ZERO元素的字符類型的向量。 但是""
是帶有一個元素的字符類型向量,它等於空字符串。
您將向量的長度(元素數)與字符串中的字符數混淆:
考慮以下三件事:
> x=c("","")
> y=""
> z=character()
它們的長度是向量中元素的數量:
> length(x)
[1] 2
> length(y)
[1] 1
> length(z)
[1] 0
要獲取字符數,請使用nchar
:
> nchar(x)
[1] 0 0
> nchar(y)
[1] 0
> nchar(z)
integer(0)
需要注意的是nchar(x)
表示的每個元素多少個字母x
,所以它返回兩個零的整數向量。 然后, nchar(y)
是一個零的整數向量。
所以最后一個, nchar(z)
返回一個integer(0)
,這是一個沒有零的整數向量。 它的長度為零。 它沒有元素,但如果它確實有元素,它們就是整數。
character(0)
是字符類型對象的空向量。 相比:
> character(0)
character(0)
> character(1)
[1] ""
> character(2)
[1] "" ""
> character(12)
[1] "" "" "" "" "" "" "" "" "" "" "" ""
如果y=""
,則length(y)
為1
。 另一方面,如果y=character()
,則length(y)
為0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.