我解析一個HTML文件後,我得到了這樣的事情,我想算的頻率「」(3號線)R,的「計數頻率」
html_1
[1]"I'm working"
[2]" "
[3]""
[4]" "
class(html_1)
character
我會用表函數對於正常的數據幀,但只要我將其更改爲數據幀,就會變成如下所示,因此我無法區分「」和「」。
html_2 <- as.data.frame(html_1)
html_2
I'm working
任何建議計數「」?
我解析一個HTML文件後,我得到了這樣的事情,我想算的頻率「」(3號線)R,的「計數頻率」
html_1
[1]"I'm working"
[2]" "
[3]""
[4]" "
class(html_1)
character
我會用表函數對於正常的數據幀,但只要我將其更改爲數據幀,就會變成如下所示,因此我無法區分「」和「」。
html_2 <- as.data.frame(html_1)
html_2
I'm working
任何建議計數「」?
選擇一個:
sum(html_1 == "")
sum(nchar(html_1) == 0)
這主要建立在@羅馬的答案,但(1)展示了一種不同的方式來「看」的空間;(2)向您展示了製表不同的想法:
html_1 <- c("I'm working here", " ", "", " ", "No", NA, "")
html_2 <- as.data.frame(html_1)
print
有quote
說法讓您可以在列的周圍添加引號,這樣您就可以更輕鬆地看到前導空白和尾隨空白。這在這裏也有幫助。
print(html_2, quote = TRUE)
# html_1
# 1 "I'm working here"
# 2 " "
# 3 ""
# 4 " "
# 5 "No"
# 6 NA
# 7 ""
製表是尋找看起來像""
一個字符串一樣簡單:
html_2$html_1 == ""
# [1] FALSE FALSE TRUE FALSE FALSE NA TRUE
table(html_2$html_1 == "")
#
# FALSE TRUE
# 4 2
或者,你可以指望有多少個字符有每個項目獲得相同的信息。在這裏,0
顯然是感興趣的字符串(但我不喜歡NA
被計算爲兩個字符)。
table(nchar(as.character(html_2$html_1)))
#
# 0 1 2 16
# 2 2 2 1
太謝謝你了!這真的很有幫助! – user1486507
您可以使用正則表達式來查找空字符串:
html1 <- c("I'm working here", " ", "", " ")
idx <- grepl("^$", html1)
# [1] FALSE FALSE TRUE FALSE
在上面的代碼,^$
表示""
。算上空字符串:
table(idx)
# idx
# FALSE TRUE
# 3 1
謝謝!我不知道我可以使用正則表達式「」 – user1486507
謝謝!非常簡潔的答案=) – user1486507