【问题标题】:r-convert list column into character vector where lists are charactersr-将列表列转换为字符向量,其中列表是字符
【发布时间】:2018-10-14 21:54:02
【问题描述】:

我正在尝试将列表转换为单个字符值,或者基本上是这样:

test <- data.frame(a = c(1,1,1,2,2,2), b = c("a", "b", "c", "d", "e", "f" )) %>% 
  group_by(a) %>% summarise(b = list(b))

到这里:

test <- data.frame(a = c(1,2), b = c("a, b, c", "d, e, f" )) 

【问题讨论】:

  • 仅供参考:如果您从原始数据框开始,您可以使用data.frame(a = c(1,1,1,2,2,2), b = c("a", "b", "c", "d", "e", "f")) %&gt;% group_by(a) %&gt;% summarise(b = paste(b, collapse = ","))
  • 到目前为止你尝试了什么?
  • 非常好的建议 DJack。您应该将其发布为答案。谢谢

标签: r list vector dplyr character


【解决方案1】:

给你:

test %>% 
  mutate(b = sapply(b, toString))

## A tibble: 2 x 2
#      a b      
#  <dbl> <chr>  
#1    1. a, b, c
#2    2. d, e, f

【讨论】:

    【解决方案2】:

    根据 OP 的建议,我发表我的评论作为答案以供将来参考。

    从原始数据框开始,您可以:

    data.frame(a = c(1,1,1,2,2,2), b = c("a", "b", "c", "d", "e", "f")) %>% 
       group_by(a) %>%
       summarise(b = paste(b, collapse = ","))
    
    ## A tibble: 2 x 2
    #      a b    
    #  <dbl> <chr>
    #1  1.00 a,b,c
    #2  2.00 d,e,f
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多