Дублирование строк и строк в R - PullRequest
1 голос
/ 25 сентября 2019

У меня есть кадр данных в R, который имеет несколько строк следующим образом:

c("LouDobbs", "gen_jackkeane") || RT @LouDobbs: #AmericaFirst- @gen_jackkeane: The Taliban for 9 months have told their fighters to kill as many people as you can, to includ…

выше - пример 2 столбцов, где столбец 1 (я использую разделитель ||) имеетболее одного имени пользователя и столбец 2 имеет текст твита.Я хочу, чтобы эта строка была продублирована в 2 (количество пользователей), и каждый отдельный пользователь по отдельности может быть помещен в столбец 1 для всех таких строк во фрейме данных, где в тексте твита указано более 1 пользователя.

structure(list(user = list("Dandhy_Laksono", c("LouDobbs", "gen_jackkeane"
), "DeepStateExpose", "AndruewJamess", "jrossman12", "BiLLRaY2019", 
    "DeepStateExpose", "Dandhy_Laksono", "DeepStateExpose", "DeepStateExpose"), 
    full_text = c("RT @Dandhy_Laksono: Sebagian pendukung Jokowi ini mengalami bagaimana fitnah \"komunis dan PKI\" digunakan selama pemilu.\n\nSekarang mereka me…", 
    "RT @LouDobbs: #AmericaFirst- @gen_jackkeane: The Taliban for 9 months have told their fighters to kill as many people as you can, to includ…", 
    "RT @DeepStateExpose: The Only Reason The Deep State Cabal Has Stayed in Afghanistan For 18 Years Is To Protect Their Largest Poppy/Opium/Na…", 
    "RT @AndruewJamess: @BillOReilly @KamalaHarris is wrong. @realDonaldTrump has accomplished a lot. He set a record for  incoherent toilet twe…", 
    "RT @jrossman12: @SaraCarterDC Pakistan won't allow that as you already know. Your husband and the other U.S. troops have been forced to fig…", 
    "RT @BiLLRaY2019: JOKOWI TIDAK MEMBUNUH KPK..!\nMarkibong…\"Selamat tinggal Taliban di dalam KPK. Kalian kalah lagi, kalah lagi..!\"\n\n#JumatBer…", 
    "RT @DeepStateExpose: The Only Reason The Deep State Cabal Has Stayed in Afghanistan For 18 Years Is To Protect Their Largest Poppy/Opium/Na…", 
    "RT @Dandhy_Laksono: Sebagian pendukung Jokowi ini mengalami bagaimana fitnah \"komunis dan PKI\" digunakan selama pemilu.\n\nSekarang mereka me…", 
    "RT @DeepStateExpose: The Only Reason The Deep State Cabal Has Stayed in Afghanistan For 18 Years Is To Protect Their Largest Poppy/Opium/Na…", 
    "RT @DeepStateExpose: The Only Reason The Deep State Cabal Has Stayed in Afghanistan For 18 Years Is To Protect Their Largest Poppy/Opium/Na…"
    )), row.names = c(NA, 10L), class = "data.frame")

1 Ответ

1 голос
/ 25 сентября 2019

Мы можем использовать lengths, чтобы получить длину каждого из элементов столбца list.Это должно быть достаточно быстро, так как lengths быстро

l1 <- lengths(df$user)
out <- data.frame(user = unlist(df$user), n = rep(l1, l1),
          text = rep(df$full_text, l1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...