如何将R中的两列合并为一列向量/列表?

如何将R中的两列合并为一列向量/列表?,r,R,我有一个包含两列的数据框: | X | Y | |-------|-------| | x1 | y1 | | x2 | y2 | | x3 | y3 | | ... | ... | | x1000 | y1000 | 如何创建第三列,其中包含从前两列获取的可访问值的向量/列表 | X | Y | Z | |-------|-------|------------------| | x

我有一个包含两列的数据框:

|   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)  |

一个选项是将“X”、“Y”中的元素连接成
向量
,并返回带有
map2的
列表

library(dplyr)
library(purrr)
df1 %>%
     mutate(Z = map2(X, Y, c))
或者另一个选项是将
粘贴到字符串中

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

或者使用
Map
from
base R

df1$Z <- Map(c, df1$X, df1$Y)

df1$Z谢谢,但不知何故,我在Z中得到的都是向量,比如c(2,2),c(3,3),c(38,38)等等。无论我尝试哪种选择。我如何访问真实值?因为
df$Z[1]
返回
22
@tnpchik您能在控制台上键入
c(2,2)
并查看它返回什么吗?它是一个向量,就像
Z
的每个元素都是一个向量>c(2,2)[1]22@tnpchlk这不是
df$Z[[1]]
returnsUp吗,但是这些值是从哪里来的呢?我想要的是c(myStringFromX,myStringFromY),而不是c(2,2)。