r - 从推文中提取主题标签

标签 r statistics analytics hashtag sentiment-analysis

我正在尝试执行情绪分析并遇到一个小问题。我正在使用具有主题标签和其他一些垃圾值的字典(如下所示)。它还具有主题标签的相关权重。我只想将主题标签及其相应的权重提取到一个新的数据框中。有什么简单的方法吗? 我试过使用 regmatches,但有些它如何以列表格式给出输出并且把事情搞砸了。 输入:

            V1    V2
1    #fabulous 7.526
2   #excellent 7.247
3      superb 7.199
4  #perfection 7.099
5    #terrific 6.922
6 #magnificent 6.672

输出:

            V1    V2
1    #fabulous 7.526
2   #excellent 7.247
3  #perfection 7.099
4    #terrific 6.922
5 #magnificent 6.672

最佳答案

要仅选择作为主题标签的条目,您可以使用简单的正则表达式 ^#(意思是“任何以 # 开头的内容”):

> input[grepl("^#",input[,1]),]
            V1    V2
1    #fabulous 7.526
2   #excellent 7.247
4  #perfection 7.099
5    #terrific 6.922
6 #magnificent 6.672

否则,从您的原始数据来看,正则表达式 #[[:alnum:]]+(意思是:“一个主题标签,后跟 1 个或多个字母数字字符”)应该可以帮助您获取主题标签:

> tweets <- c("New R job: Statistical and Methodological Consultant at the Center for Open Science http://www.r-users.com/jobs/statistical-methodological-consultant-center-open-science/ … #rstats #jobs","New R job: Research Engineer/Applied Researcher at eBay http://www.r-users.com/jobs/research-engineerapplied-researcher-ebay/ … #rstats #jobs")
> match <- regmatches(tweets,gregexpr("#[[:alnum:]]+",tweets))
> match
[[1]]
[1] "#rstats" "#jobs"  

[[2]]
[1] "#rstats" "#jobs"  
> unlist(match)
[1] "#rstats" "#jobs"   "#rstats" "#jobs"  

关于r - 从推文中提取主题标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168226/

相关文章:

text - SAS:删除一个字符后的所有文本

r - 在 Ubuntu 上安装软件包需要很长时间

r - 获取通过重采样计算的多重回归系数值

python - 下载网站中的所有文件

r - ggplot散点图中的图例问题

python - 如何在 Python 中执行单尾双样本 Kolmogorov–Smirnov 检验?

c++ - 带模数的随机数生成器

api - 是否可以通过服务器端API将事件发布到Google Analytics(分析)?

python - 蛮力是使用 Python 进行多元回归的最佳选择吗?

facebook - "?fref=jewel"在 facebook 的 url 中是什么意思?