2015-04-20 5 views
0

У меня есть список с более чем 50 000 строк твитов. Теперь я уже экспортировали хештеги из этого списка, но теперь я застрял с несколькими тысячами строк хэштегов, которые выглядят как этотСоедините несколько хэштегов с одной строки друг с другом

hashtag1; hashtag2; hashtag3; hashtag4

Поскольку я хочу сделайте совместный хэштег-анализ. Я ищу способ подключения этих нескольких хэштегов друг к другу без необходимости вручную преобразовывать эти строки в неориентированные ребра. Пример:

hashtag1; hashtag2
hashtag1; hashtag3
hashtag1; hashtag4
hashtag2; hashtag3
hashtag2; hashtag4
hashtag3; hashtag4

Итак, у вас есть идея о как выполнить эту задачу (например, через R)? Я R-noob и даже менее «хорошо разбираюсь» с другими языками, но я очень хочу учиться.

structure(list(V1 = structure(c(1L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 
 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 7L, 8L, 8L, 9L, 10L, 
 
10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 12L, 12L, 13L, 
 
13L, 13L, 13L, 14L, 14L), .Label = c("profitkapital", "resupply", 
 
"robotik", "rudidutschke", "russland", "sanktionen", "sanktionieren", 
 
"schiller", "siegertyp", "snowden", "sockeleinkommen", "solidarity", 
 
"sozialismus", "sozialphilosoph"), class = "factor"), V2 = structure(c(4L, 
 
3L, 2L, 7L, 7L, 7L, 7L, 17L, 6L, 8L, 9L, 10L, 10L, 11L, 12L, 
 
13L, 18L, 18L, 1L, 15L, 15L, 14L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
 
4L, 4L, 4L, 4L, 5L, 5L, 4L, 4L, 4L, 4L, 16L, 16L), .Label = c("alltag", 
 
"arbeit", "bbq", "bge", "blockupy", "deutschland", "digitalisierung", 
 
"griechenland", "grundeinkommen", "hartziv", "kenfm", "kirche", 
 
"kopf", "kraft", "marx", "negt", "piraten", "sanktion"), class = "factor"), 
 
    V3 = structure(c(1L, 3L, 2L, 4L, 4L, 4L, 4L, 4L, 5L, 4L, 
 
    4L, 4L, 13L, 10L, 13L, 4L, 14L, 14L, 7L, 6L, 6L, 15L, 8L, 
 
    8L, 8L, 8L, 8L, 8L, 8L, 1L, 1L, 1L, 1L, 12L, 12L, 11L, 11L, 
 
    11L, 11L, 9L, 9L), .Label = c("", "abitur", "bbqrub", "bge", 
 
    "brd", "brecht", "deutschen", "fsa", "grundeinkommen", "hartziv", 
 
    "linkezukunft", "ows", "vatikan", "widerspruch", "würde" 
 
    ), class = "factor"), V4 = structure(c(1L, 3L, 6L, 1L, 1L, 
 
    1L, 1L, 1L, 8L, 1L, 2L, 1L, 9L, 5L, 9L, 10L, 4L, 4L, 7L, 
 
    3L, 3L, 11L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    12L, 12L, 1L, 1L, 1L, 1L, 3L, 3L), .Label = c("", "bank", 
 
    "bge", "eilantrag", "haarp", "job", "jobcentern", "merkel", 
 
    "pastor", "probleme", "super", "unibrennt"), class = "factor"), 
 
    V5 = structure(c(1L, 3L, 5L, 1L, 1L, 1L, 1L, 1L, 7L, 1L, 
 
    10L, 1L, 2L, 9L, 2L, 4L, 8L, 8L, 6L, 1L, 1L, 6L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 
 
    1L, 1L), .Label = c("", "bge", "bgenation", "fliegen", "geld", 
 
    "hartziv", "hitler", "sg", "ttip", "vorbild"), class = "factor"), 
 
    V6 = structure(c(1L, 5L, 2L, 1L, 1L, 1L, 1L, 1L, 6L, 1L, 
 
    1L, 1L, 8L, 4L, 8L, 7L, 4L, 4L, 4L, 1L, 1L, 4L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 
 
    1L), .Label = c("", "altersarmut", "antifa", "bge", "deeznuts", 
 
    "holocaust", "klatsch", "sex"), class = "factor"), V7 = structure(c(1L, 
 
    1L, 2L, 1L, 1L, 1L, 1L, 1L, 6L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 
 
    4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "bge", 
 
    "cia", "hartz", "spanishrevolution", "wahre"), class = "factor"), 
 
    V8 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 
 
    1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 
 
    1L), .Label = c("", "cityoflondon", "grund", "peace"), class = "factor"), 
 
    V9 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 
 
    1L, 1L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 
 
    1L), .Label = c("", "bge", "occupy", "rothschild"), class = "factor"), 
 
    V10 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 
 
    1L), .Label = c("", "ard", "gezi"), class = "factor"), V11 = structure(c(1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "refugeeswelcome", 
 
    "zdf"), class = "factor"), V12 = structure(c(1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "nolegida", 
 
    "wdr"), class = "factor"), V13 = structure(c(1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "nopegida", 
 
    "swr"), class = "factor"), V14 = structure(c(1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 
 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
    2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "nocastor", 
 
    "zukunft"), class = "factor")), .Names = c("V1", "V2", "V3", 
 
"V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", 
 
"V14"), class = "data.frame", row.names = c(NA, -41L))

ответ

0

вы можете попробовать пакет combinat с combn которым будет генерировать пару перестановок

library(combinat) 
combn(c("hashtag1", "hashtag2", "hashtag3", "hashtag4"), 2) 
    [,1]  [,2]  [,3]  [,4]  [,5]  [,6]  
[1,] "hashtag1" "hashtag1" "hashtag1" "hashtag2" "hashtag2" "hashtag3" 
[2,] "hashtag2" "hashtag3" "hashtag4" "hashtag3" "hashtag4" "hashtag4" 
+0

привет, спасибо за ответ! :) Я попробовал ваше предложение и почувствовал, что это правильный способ действовать (как-то). однако, если применить к моему файлу данных, я получаю одну таблицу с одним столбцом, а все содержимое - «NA». Затем я попытался обмануть «2» и заменил его «мин» или «забавой», но они не работали, поскольку хэштеги не являются числовыми. Есть ли у вас дополнительные предложения? :) – quaak

+0

вы можете отредактировать свой пост и 'dput' свои данные или хотя бы часть их? –

+0

Вы имеете в виду вот так? (извините, никогда не делал этого раньше) – quaak