【问题标题】:R dplyr or purrr group_by to list of vectorsR dplyr 或 purrr group_by 到向量列表
【发布时间】:2018-02-15 05:42:42
【问题描述】:

我有来自数据库的键值对数据,例如: 年份:2012 学科:'化学' 主题:“普通化学” 主题:'一般、有机和生物化学'

incoming = tibble(field = c('year', 'discipline', 'subject', 'subject'), 
setting = c(2012, 'Chemistry', 'General Chemistry', 'General, Organic, and Biochemistry'))

我想按 key 分组,并创建一个列表,其中 values = 该组中所有值的向量,例如:

$year = 2012
$discipline = 'Chemistry'
$subject = c('General Chemistry', 'General, Organic, and Biochemistry')

我知道我可以 paste() 并将它们折叠成一个 |- 分隔的字符串,然后将其分开......但我认为可能有一个整洁的函数可以一步完成。有什么建议吗?

我想它会是这样的,但我不确定在管道的末端放什么:

processed = incoming %>%
   group_by(field) %>%
   awesome_listmaker_function()

【问题讨论】:

    标签: r list dplyr purrr tibble


    【解决方案1】:
    split(incoming$setting, incoming$field)
    # $discipline
    # [1] "Chemistry"
    #
    # $subject
    # [1] "General Chemistry"                  "General, Organic, and Biochemistry"
    #
    # $year
    # [1] "2012"
    

    如果您一次从数据库接收多个组,那么它会变得有点复杂。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多