使用 R 在 data.frame 对象中拆分主题标签

spliting hashtags in a data.frame object with R

我正在收集 Twitter 的主题标签。每条推文都可以包含主题标签。

tests <- c("xxxxxx #SaveTheDate xxxxxx #Histoire] xxxxxx #Femmes xxxxxxx #ports",
       "xxxxxxxxxxxx",
       "xxxx #rock xxxxxx #Nantes" ,
       "xxxxxx #lvan xxxxxxx #nantes xxxxx #ilsepassetoujoursuntruc")


library (stringr)

hashtags <- str_extract_all(tests, "#\S+")

str (hashtags)

麻结果:

 str(hashtags)  
 list of 4
 $ : chr [1:4] "#SaveTheDate" "#Histoire]" "#Femmes" "#ports"  
 $ : chr(0)  
 $ : chr [1:2] "#rock" "#Nantes"  
 $ : chr [1:3] "#lvan" "#nantes" "#ilsepassetoujoursuntruc"  

我的期望:data.frame 一行有一个标签

 "#SaveTheDate" 
 "#Histoire"
 "#Femmes" 
  "#ports"
  NA
  ....

我尝试了什么:

hashtags_df <-as.data.frame(hashtags) 
hashtags[!lengths(hashtags)] <- NA

这将用 NA 替换您的长度零列表。 (通过 Dirty Sock Sniffer 可以更好地解决这个问题)

hashtags <- unlist(hashtags)

将为您提供值的列向量。如果您想要数据框,现在可以使用 as.data.frame。

hashtags_df <- as.data.frame(hashtags)

我不知道提取主题标签等的最佳方法,但这应该可以回答当前提出的问题。