【问题标题】:Unlist (flatten lists) row by row in a data frame using R使用 R 在数据框中逐行取消列出(展平列表)
【发布时间】:2014-12-04 06:24:58
【问题描述】:

我在 data.frame 中有一个推文列表,我可以使用从中提取主题标签列表

> rpg.twitter.df$hashtags <-
  regmatches(rpg.twitter.df$text,gregexpr("#(\\d|\\w)+",rpg.twitter.df$text))

每行都有一个列表。现在,我想用逗号分隔的字符串将每个列表展平(每行一个)

我试过了:

do.call("paste", c(rpg.twitter.df$hashtags, sep=", "))

但它不起作用,因为它以一个巨大的向量结束。如果我用unlist(..., recursive=FALSE) 括起来regmatches 也是一样

有什么办法解决吗?

一些可重现示例的数据:

rpg.twitter.df <- data.frame(text=rbind("World of Warcrack: http://t.co/3MNRpArnGw #wow #WorldOfWarcraft #warcraft #mmorpg #rpg #RPGChat #gaming #pcgaming #online @WoW_en @NewsWoW", "@ashleythedragon join my journey in Tweeria http://t.co/CFKDLA3ASE #rpg", "How to use of #RPG  for motivation  #timeboxing  http://t.co/mwwN5xErHx"))

【问题讨论】:

  • 你有可重现的例子吗?你试过do.call("c", ...)do.call("rbind", ...)吗?
  • 是的,没办法。同时我添加了一些数据用于复制
  • 说“列表”时要小心。一半的时间,你的意思是“矢量”。

标签: r


【解决方案1】:

你可以这样做:

sapply(rpg.twitter.df$hashtags, paste, collapse = ",")

【讨论】:

    【解决方案2】:

    你也可以用这个:

     toString(rpg.twitter.df$hashtags)
    

    【讨论】:

      猜你喜欢
      • 2017-08-09
      • 2020-05-31
      • 2016-04-13
      • 2019-03-08
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 2013-07-15
      相关资源
      最近更新 更多