我有一个包含两列的数据框:
| 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) |
答案 0 :(得分:1)
一种选择是将“ 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)