R语言 连接多个列以创建另一列[重复]

exdqitrt  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(111)

此问题已在此处有答案

Paste multiple columns together(11个回答)
2天前关闭。
我有一个 Dataframe df,有两列(“EYE”和“ID”);我想mute的第三列“EYE_ID”的第一个和第二个通过分离的下划线符号_组合的元素。

df <- tibble::tibble(ID = replicate(5, 'GATE'),
                     EYE = seq(1, 5, 1))

我想要的

我想要这样的结果:

ID      EYE     EYE_ID
  <chr> <dbl>   <chr>
1 GATE      1   GATE_1
2 GATE      2   GATE_2
3 GATE      3   GATE_3
4 GATE      4   GATE_4
5 GATE      5   GATE_5
nue99wik

nue99wik1#

使用tidyr中的unite

library(tidyverse)
df %>%
  unite(EYE_ID, ID, EYE, remove = FALSE)

# A tibble: 5 × 3
  EYE_ID ID      EYE
  <chr>  <chr> <dbl>
1 GATE_1 GATE      1
2 GATE_2 GATE      2
3 GATE_3 GATE      3
4 GATE_4 GATE      4
5 GATE_5 GATE      5

甚至str_c

df %>% 
  mutate(EYE_ID = str_c(ID, EYE, sep = '_'))

# A tibble: 5 × 3
  ID      EYE EYE_ID
  <chr> <dbl> <chr> 
1 GATE      1 GATE_1
2 GATE      2 GATE_2
3 GATE      3 GATE_3
4 GATE      4 GATE_4
5 GATE      5 GATE_5

在R中,你可以用途:

transform(df, EYE_ID = paste(ID, EYE, sep = '_'))
    ID EYE EYE_ID
1 GATE   1 GATE_1
2 GATE   2 GATE_2
3 GATE   3 GATE_3
4 GATE   4 GATE_4
5 GATE   5 GATE_5

相关问题