2015-07-03 39 views
1

我練文本挖掘了人類科學的一個博士項目的推文(微博)的特殊字符。使用子或(「|」)GSUB或stringr包中的R

我有一些困難,剝奪它們由Twitter的API編碼附上新的功能「與評論銳推」特殊字符(「」)

我已經測試使用(\「)(\'')沒有成功。

每次我遇到了以下錯誤:

(...錯誤TEX ...) '\'(...錯誤文本......)

這意味着R不能識別這兩個特殊字符(「)(」)

舉例來說,我有一個(@)(")這讓我申請的「與評論銳推」變量基本統計信息之前替換每個第一個字符,但我不能與文本挖掘功能的進一步去上的字符工作裏面有(「@...」)

有沒有人遇到這種類型的麻煩?

R.Version() 
$platform 
[1] "x86_64-apple-darwin10.8.0" 

$arch 
[1] "x86_64" 

$os 
[1] "darwin10.8.0" 

$system 
[1] "x86_64, darwin10.8.0" 

$status 
[1] "" 

$major 
[1] "3" 

$minor 
[1] "1.0" 

$year 
[1] "2014" 

$month 
[1] "04" 

$day 
[1] "10" 

$`svn rev` 
[1] "65387" 

$language 
[1] "R" 

$version.string 
[1] "R version 3.1.0 (2014-04-10)" 

$nickname 
[1] "Spring Dance" 
+1

你應該提供一個[再現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)配有樣本輸入和期望的輸出。你打電話的功能究竟是什麼? – MrFlick

+0

@MrFlick:是:例如 - 來自Twitter API - 流函數 - 這裏是我的數據框中推文的文本變量,帶有「retweet with comment」格式:_「@ username:推文的文本」comment_ I想要創建附加到「使用註釋轉推」變量的定量和定性新變量,但無法sub,gsub或使用stringr函數獲取特殊字符「或」,R返回錯誤(法語):Erreur :''' 'est un code escape non reconnu dans unechaînedecaractèresdébutant「\ 」' – Cyrille

+0

@MrFlick:我認爲R無法識別特殊字符''''和'「'這就是爲什麼他返回一個錯誤'?',即使我在特殊字符之前使用\。目前我所做的是,我在數據框中的所有「轉推評論」推文開始時用​​「(它被文本挖掘函數識別爲特殊字符)」替代前導'''來創建僅定量變量來計算變量,但是我想用定性變量和文本挖掘函數做更多的事情 – Cyrille

回答

1

至於建議的@MichaelChirico,當你在R控制檯類型"「",R返回[1] "「",這意味着R可以識別怪異報價「」

?regex我們可以看到:

在擴展正則表達式的元字符。 \ | ()[{^ $ * +?

這不包括"「""」"。因此,爲了管理這種帶有sub,gsub或stringr函數的怪異引號來進行文本挖掘,你不需要在它們之前使用\。

作爲證實@NickK,怪異報價被認爲是[[:PUNCT:]]在R.

對於研究者對數據科學工作在社交媒體,特別是在Twitter數據(鳴叫)收集通過公共流Twitter的API,這個技巧可以幫助您管理推文文字非結構化數據,尤其是新的Twitter聯動「評論銳推」,這是這種格式:「@user.screen_name: text of the original tweet」 text of the comment

+0

只是編輯了一點 - '奇怪'引號實際上被認爲是'[[:punct ::]' - 嘗試'x < - c(「」「,」「」,'「',」a「); grep (「[[:punct:]]」,x)'。 –

+0

@NickK好了,我糾正了我的答案。 – Cyrille