regexed我有一個包含鳴叫列表的數據表中使用Twitter的庫抓取並希望得到與重塑基於從單個列
因此,例如註釋鳴叫的列表中選擇多個項和其他行的data.frame ,我開始:
tmp=data.frame(tweets=c("this tweet with #onehashtag","#two hashtags #here","no hashtags"),dummy=c('random','other','column'))
> tmp
tweets dummy
1 this tweet with #onehashtag random
2 #two hashtags #here other
3 no hashtags column
,並希望產生:
result=data.frame(tweets=c("this tweet with #onehashtag","#two hashtags #here","#two hashtags #here","no hashtags"),dummy=c('random','other','other','column'),tag=c('#onehashtag','#two','#here',NA))
> result
tweets dummy tag
1 this tweet with #onehashtag random #onehashtag
2 #two hashtags #here other #two
3 #two hashtags #here other #here
4 no hashtags column <NA>
我可以使用正則表達式:
library(stringr)
str_extract_all("#two hashtags #here","#[a-zA-Z0-9]+")
來提取鳴叫標籤到一個列表,可能使用類似:
tmp$tags=sapply(tmp$tweets,function(x) str_extract_all(x,'#[a-zA-Z0-9]+'))
> tmp
tweets dummy tags
1 this tweet with #onehashtag random #onehashtag
2 #two hashtags #here other #two, #here
3 no hashtags column
但我缺少某處一招並不能看到如何使用這個作爲基礎創建重複的行...