gpt4 book ai didi

r - 在 dplyr 中连接两个文本列

转载 作者:行者123 更新时间:2023-12-02 11:43:01 25 4
gpt4 key购买 nike

我的数据如下所示:

round <- c(rep("A", 3), rep("B", 3))
experiment <- rep(c("V1", "V2", "V3"), 2)
results <- rnorm(mean = 10, n = 6)

df <- data.frame(round, experiment, results)

> df
round experiment results
1 A V1 9.782025
2 A V2 8.973996
3 A V3 9.271109
4 B V1 9.374961
5 B V2 8.313307
6 B V3 10.837787

我有一个不同的数据集,该数据集将与此数据集合并,其中 roundexperiment 的每个组合都是一个唯一的行值,即 “A_V1” 。所以我真正想要的是一个将两列连接在一起的变量name。然而,这在 dplyr 中比我预想的更难做到。我尝试过:

name_mix <- paste0(df$round, "_", df$experiment)
new_df <- df %>%
mutate(name = name_mix) %>%
select(name, results)

但我收到错误,列名称的长度必须为 1(组大小),而不是 6。我还尝试了 cbind(df, name_mix) 的简单基本 R 方法,但收到了类似的错误,告诉我 dfname_mix 是不同的尺寸。我做错了什么?

最佳答案

您可以使用 tidyr 中的 unite 函数

require(tidyverse)

df %>%
unite(round_experiment, c("round", "experiment"))

round_experiment results
1 A_V1 8.797624
2 A_V2 9.721078
3 A_V3 10.519000
4 B_V1 9.714066
5 B_V2 9.952211
6 B_V3 9.642900

关于r - 在 dplyr 中连接两个文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50845474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com