簡體   English   中英

R中字符()和“”之間的差異

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM