Как изменить столбец dataframe из списка в несколько столбцов в r? - PullRequest
0 голосов
/ 06 января 2020
This is my dataframe df:

    A                 B                            C
1   14      list('one'=1,'two'=3,'three'=98)     1.12
2   1       list('one'=8,'two'=87,'three'45)     0.98
3   81      list('one'=4,'two'=41,'three'19)     1.02
4   11      list('one'=4,'two'=0 ,'three'0 )     1.15
5   10      list('one'=1,'two'=1 ,'three'12)     0.80

Я хочу, чтобы столбец «B» представлял собой список, разбитый на разные столбцы, а имена новых столбцов должны содержать старое имя столбца + имена списков.

The output should be like this:

    A     B.one  B.two  B.three  C
1   14      1     3       98     1.12
2   1       8     87      45     0.98
3   81      4     41      19     1.02
4   11      4     0       0      1.15
5   10      1     1       12     0.80
'

1 Ответ

0 голосов
/ 07 января 2020

Вы должны быть в состоянии использовать tidyr::unnest_wider. Пример:

df = data.frame(a = 1:3)
df$b = list(list(x = 1, y = 2), list(x = 2, y = 5), list(x = 3, y = 4))
df
#   a    b
# 1 1 1, 2
# 2 2 2, 5
# 3 3 3, 4

tidyr::unnest_wider(df, b, names_sep = ".")
# # A tibble: 3 x 3
#       a   b.x   b.y
#   <int> <dbl> <dbl>
# 1     1     1     2
# 2     2     2     5
# 3     3     3     4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...