首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推特与OpenRefine的联合标签

推特与OpenRefine的联合标签
EN

Stack Overflow用户
提问于 2015-03-02 19:31:11
回答 2查看 194关注 0票数 1

我正在使用OpenRefine将一些Twitter元数据格式化为一个边缘列表,以便Gephi读取。如果我想研究用户提及关联或用户标签关联,它可以很容易地工作。但现在我想研究共同标签,那么标签在tweet中同时出现的频率是多少?

用OpenRefine (我不是很了解)来做这件事有点棘手,我需要一些帮助。我的数据是csv格式的,有两列:用户的用户名,tweet中使用的以逗号分隔的标签字符串。要使用OpenRefine获得用户标签边缘列表,我在标签列上使用“拆分多值单元格”,然后在用户列上使用"Fill down“(非常简单)。我不知道如何获得hashtag-hashtag边缘列表。我可以在hashtag列上使用“拆分多值单元格”来为tweet中提到的每个hashtag获得一个新行。但是,如何“填充”行才能获得hashtag-hashtag共同出现的所有组合呢?

示例:

数据:

代码语言:javascript
复制
User         Hashtags
Dario        Data mining, R, OpenRefine

期望的结果:

代码语言:javascript
复制
Hashtag 1    Hashtag 2

Data mining  R
Data mining  OpenRefine
R            OpenRefine
EN

回答 2

Stack Overflow用户

发布于 2015-03-06 22:29:53

还在OpenRefine谷歌群上发布了:

我认为您可以使用forEach和forRange的组合来实现这一点。在包含逗号分隔的hashtag的单元格上尝试以下转换:

forEachIndex(value.split(","),i,v,forRange(i+1,value.split(",").length(),1,j,v.trim() + ",“+ value.split(",")j.trim()).join("|")).join("|")

这应该会产生一个以竖线分隔的唯一组合列表。然后你可以使用‘拆分多值单元格’

票数 1
EN

Stack Overflow用户

发布于 2015-03-06 05:29:19

这是我的建议。

让我们使用您的示例:

代码语言:javascript
复制
User         Hashtags
Dario        Data mining, R, OpenRefine

1°/在列标签上使用名为“在列中拆分多值单元格”的函数

你应该会得到类似这样的东西:

代码语言:javascript
复制
User         Hashtags
Dario        Data mining
             R
             OpenRefine

2°/在Hashtags列上尝试此转换:

代码语言:javascript
复制
if((row.record.cells["Hashtags"].value[-1])==value,value+","+(row.record.cells["Hashtags"].value[0]),value+","+(row.record.cells["Hashtags"].value[-1]))

3°)根据",“分隔符将您的列拆分为多个列。

这对我很管用。

编辑:

这个解决方案生成一个重复的条目,可以像这样轻松地删除它:

  • 使用|分隔符(例如)联接多值单元格。

你会得到像这样的东西

代码语言:javascript
复制
1.

Dario

Data mining,Prout|R,Prout|OpenRefine,Prout|Prout,Data mining

2.

Essai

Data mining,R|R,Data mining

  • 然后根据分隔符|
  • 将单元格拆分成列最后,删除第一个标签列。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28808746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档