如何用特定符号合并R中的两列?

发布于 2024-10-30 06:10:12 字数 143 浏览 3 评论 0原文

我在 R 中读取了一个表,如下所示:

column1 column2
A        B

用于将两列匹配在一起的命令是什么?

Column 3
A_B

I have a table read in R as follows:

column1 column2
A        B

What is the command to be used to match two columns together as follows?

Column 3
A_B

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

始于初秋 2024-11-06 06:10:12

我有点不确定你所说的“合并”是什么意思,但这就是你的意思吗?

> DF = data.frame(A = LETTERS[1:10], B = LETTERS[11:20])
> DF$C = paste(DF$A, DF$B, sep="_")
> head(DF)
  A B  C
1 A K A_K
2 B L B_L
3 C M C_M
4 D N D_N

或者等效地,正如@daroczig 指出的:

 within(DF, C <- paste(A, B, sep='_'))

I'm a bit unsure what you mean by "merge", but is this what you mean?

> DF = data.frame(A = LETTERS[1:10], B = LETTERS[11:20])
> DF$C = paste(DF$A, DF$B, sep="_")
> head(DF)
  A B  C
1 A K A_K
2 B L B_L
3 C M C_M
4 D N D_N

Or equivalently, as @daroczig points out:

 within(DF, C <- paste(A, B, sep='_'))
简单爱 2024-11-06 06:10:12

我个人最喜欢的是使用 unite in tidyr

set.seed(1)
df <- data.frame(colA = sample(LETTERS, 10),
                 colB = sample(LETTERS, 10))
# packs: pipe + unite
require(magrittr); require(tidyr)


# Unite
df %<>%
  unite(ColAandB, colA, colB, remove = FALSE)

结果

> head(df, 3)
  ColAandB colA colB
1      G_F    G    F
2      J_E    J    E
3      N_Q    N    Q

旁注 就

我个人而言,我发现 unite 的 remove = TRUE / FALSE 功能非常有用。此外,tidyr 很好地实现了 dplyr 工作流程,并且与 单独,以防您改变对合并列的想法。同样,如果 NA 是问题所在,则在工作流程中引入 na.omit 将使您能够在创建所需列之前方便地删除不需要的行。

My personal favourite involves making use of the unite in tidyr:

set.seed(1)
df <- data.frame(colA = sample(LETTERS, 10),
                 colB = sample(LETTERS, 10))
# packs: pipe + unite
require(magrittr); require(tidyr)


# Unite
df %<>%
  unite(ColAandB, colA, colB, remove = FALSE)

Results

> head(df, 3)
  ColAandB colA colB
1      G_F    G    F
2      J_E    J    E
3      N_Q    N    Q

Side notes

Personally, I find the remove = TRUE / FALSE functionality of unite very useful. In addition tidyr firs the dplyr workflow very well and plays well with separate in case you change your mind about the columns being merged. On the same lines, if NAs are the problem introducing na.omit to your workflow would enable you to conveniently drop the undesirable rows before creating the desired column.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文