回答
如果你想實際的列值,作爲你的例子似乎來表示,那麼你就可以從文本連接讀取表:
> read.table(textConnection("I am going Out"))
V1 V2 V3 V4
1 I am going Out
要回答你的問題的標題,即多少空間也有,你可以用ncol
數以上的列,並減去一個。但是,如果你是只感興趣的空格數,下面是更有效:
length(gregexpr(" ", "I am going Out")[[1]])
這使用正則表達式搜索的空間。
[[1]]
將結果列表的第一個元素作爲結果列表的第一個元素,它對應於輸入向量的第一個項目,其中「I am Out」作爲其唯一元素。如果你在那裏傳遞了一個不同的矢量,你的列表可能有多個元素,或者根本沒有空元素。
如果沒有空格,gregexpr
仍然會返回一個長度爲1
的列表,並將-1
作爲匹配的位置以指示不存在匹配。這會導致上述代碼在該情況下錯誤地報告一個結果。一個更復雜的解決方案,這與優惠和也接受矢量作爲輸入,如下:
countSpaces <- function(s) { sapply(gregexpr(" ", s), function(p) { sum(p>=0) }) }
功能的工作原理如下:gregexpr
將返回一個列表結果,一個用於輸入的每個元素vectors
。 sapply
將迭代該列表,併爲列表中的每個元素計算匹配的數量。它不使用匹配位置向量的length
進行計數,而是使用sum
來僅對非負值進行計數,因此會丟失由匹配失敗導致的任何-1
。在該總和中存在從FALSE/TRUE
到0/1
的隱式轉換。 sapply
的結果將再次是一個向量,因此很好地匹配輸入向量。
該功能可用於重寫數據幀,如one comment中所要求的那樣。因此,假設您有一個名爲foo
的數據框,它在列bar
中具有字符串,並且應該修改爲在新列baz
中包含這些計數。你可以寫爲
foo <- transform(foo, baz = countSpaces(bar))
+1。這取決於他們想要什麼,但這可能更合適:length(gregexpr(「[] +」,「我要出去」)[[1]])(答案= 3)。用這個短語(有額外的空格),你使用的方法計算每個空格。 – A5C1D2H2I1M1N2O1R2T1
嗯。你如何在評論中添加多個空格? – A5C1D2H2I1M1N2O1R2T1
@mrdwab,請參閱http://meta.stackexchange.com/questions/30020/multiple-spaces-in-code-in-comments-get-merged-into-one。解決方法:使用非空格空格,作爲U + 00A0 unicode代碼點輸入。 – MvG
另一種方法是使用strsplit
功能:
R> strsplit("I am going Out", " ")[[1]]
[1] "I" "am" "going" "Out"
所以我們分開的第一個參數 - I am going Out
- 第二個參數 - 空的空間。然後,我們可以只使用length
:
R> length(strsplit("I am going Out", " ")[[1]])
[1] 4
但我們不想知道單詞的數量。所以我認爲MvG的回答更合適。 – rinni
我同意@ MvG的回答比較好,但是我不會對「我們不知道字數」 – csgillespie
的意見進行評論嗯,我們想知道_spaces_的數量,而不是_words_的數量。你計算單詞的數量。 – rinni
我必須承認我還沒有看過真的那麼仔細所以這可能不是一個可能性是你所追求,但..
x <- "I am going Out"
nchar(x)- nchar(gsub(" ", "", x))
到MVG的原建議的替代方案(儘管不太漂亮):
as.data.frame(matrix(unlist(strsplit("I am going Out", "\\s+", perl=TRUE)), nrow=1))
您還可以使用str_count
從stringr
包。這些不太詳細,避免正則表達式可以快一點。
library(stringr)
text = "I am going Out"
#matches regular expression
str_count(text, ' ')
或者,如果你想要的東西更快
#matches literal text
str_count(text, fixed(' '))
- 1. 找不到字符串中的'空格'字符
- 2. 查找字符串中的空格
- 3. jquery在數組中找到一個空格的字符串
- 4. indexOf找到空字符串
- 5. NSComparisonPredicate找到空字符串
- 6. 從斜槓查找字符串到空格或字符
- 7. 函數查找空字符串,並返回空格如果找到
- 8. 字符串中的空格
- 9. 帶空格的字符串
- 10. 查找子字符串忽略空格
- 11. Java:包括找到字符串長度時的空格
- 12. 使用JavaScript查找字符串中的空格數
- 13. 在Swift中查找字符串中的空格數
- 14. 字符串中奇怪的空格字符,那不是空格?
- 15. 找到字符串中的數字REGEX
- 16. 字符串格式不考慮字符串中的空格
- 17. 字符串:用數字替換空格
- 18. 如何在字符串中找不到空格的子串的最大頻率
- 19. 找到字符串開頭的字符串數組內的PHP
- 20. 帶表格空格的字符串php
- 21. SQL找不到空字符串
- 22. 在嵌套數據(Java)中找到空值和空字符串
- 23. 將空格添加到字符串
- 24. PHP:將空格添加到字符串
- 25. 傳遞字符串與空格到javascript
- 26. 找到一個子字符串,其中包含空格(PHP)
- 27. 格式化字符串 - 每三位數字之間的空格
- 28. 字符串 - 查找空值
- 29. jQuery的,字符串,找到
- 30. 的Unix找到字符串
也許你想'read.fwf'雖然我不知道你是什麼之後。 –