Как объединить два столбца в один столбец векторов / списков в R? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть фрейм данных с двумя столбцами:

|   X   |   Y   |
|-------|-------|
|   x1  |   y1  |
|   x2  |   y2  |
|   x3  |   y3  |
|  ...  |  ...  |
| x1000 | y1000 |

Как создать третий столбец, который будет состоять из векторов / списков, содержащих доступные значения, взятые из первых двух?

|   X   |   Y   |         Z        |
|-------|-------|------------------|
|   x1  |   y1  |     c(x1,y1)     |  
|   x2  |   y2  |     c(x2,y2)     |
|   x3  |   y3  |     c(x3,y3)     |
|  ...  |  ...  |        ...       |
| x1000 | y1000 |  c(x1000,y1000)  |

1 Ответ

1 голос
/ 04 июня 2019

Один из вариантов - объединить элементы из 'X', 'Y' в vector и вернуть list с map2

library(dplyr)
library(purrr)
df1 %>%
     mutate(Z = map2(X, Y, c))

. Или другой вариант - paste.в строку

library(stringr)
df1 %>%
     mutate(Z = str_c(X, Y, sep=","))

Или с Map из base R

df1$Z <- Map(c, df1$X, df1$Y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...