相关疑难解决方法(0)

将列表列直接分成几列

我可以直接在n列中删除列表列吗?

可以假定该列表是规则的,所有元素的长度相等.

如果不是列表列,我会有一个字符向量,我可以tidyr::separate.我可以tidyr::unnest,但我们需要另一个辅助变量才能tidyr::spread.我错过了一个明显的方法吗?

示例数据:

library(tibble)

df1 <- data_frame(
  gr = c('a', 'b', 'c'),
  values = list(1:2, 3:4, 5:6)
)
Run Code Online (Sandbox Code Playgroud)
# A tibble: 3 x 2
  gr    values   
  <chr> <list>   
1 a     <int [2]>
2 b     <int [2]>
3 c     <int [2]>
Run Code Online (Sandbox Code Playgroud)

目标:

df2 <- data_frame(
  gr = c('a', 'b', 'c'),
  V1 = c(1, 3, 5),
  V2 = c(2, 4, 6)
)
Run Code Online (Sandbox Code Playgroud)
# A tibble: 3 x 3
  gr       V1    V2
  <chr> <dbl> …
Run Code Online (Sandbox Code Playgroud)

r tidyr tibble

16
推荐指数
4
解决办法
3317
查看次数

标签 统计

r ×1

tibble ×1

tidyr ×1