使用 tidyR split/recover 表示数组的折叠字符串?

Use tidyR to split/recover a collapsed string representing array?

我有这样的数据:

fakedata<-data.frame(
  experiment=c(1,2),
  reading1 = c("[1,2,3]","[4,5,6]"),
  reading2 = c("[a,b,c]","[d,e,f]")
)

即:

  experiment reading1 reading2
1          1  [1,2,3]  [a,b,c]
2          2  [5,6,3]  [d,e,f]

我想整理如下:

      experiment observation reading1 reading2
1          1           1        1        a
2          1           2        2        b
3          1           3        3        c
4          2           1        4        d
5          2           2        5        e
6          2           3        6        f

但是我似乎无法直接通过 R 来完成。有没有办法使用 tidyverse 工具包来做到这一点?

我们可以使用 separate_rows

library(tidyverse)
separate_rows(fakedata, reading1, reading2) %>% 
      filter(reading1 != '') %>% 
      group_by(experiment) %>%
      mutate(observation = row_number()) %>%
      select(experiment, observation, reading1, reading2)
# A tibble: 6 x 4
# Groups:   experiment [2]
#  experiment observation reading1 reading2
#       <dbl>       <int>    <chr>    <chr>
#1          1           1        1        a
#2          1           2        2        b
#3          1           3        3        c
#4          2           1        4        d
#5          2           2        5        e
#6          2           3        6        f