我有以下数据:
library(dplyr)
d <- tibble(
region = c('all', 'one', 'eleven', 'six'),
forename = c('John', 'Jane', 'Rich', 'Clive'),
surname = c('Smith', 'Jones', 'Smith', 'Jones'))
我想匿名化'forename'和'surname'变量中的值,以便数据看起来像这样。
d <- tibble(
region = c('all', 'one', 'eleven', 'six'),
forename = c('forename1', 'forename2', 'forename3', 'forename4'),
surname = c('surname1', 'surname2', 'surname3', 'surname4'))
我可以手动执行此操作,但是我有一个包含数百万行的df。我想要的是df中的行号与值重命名一致。因此,例如第67行的数据将显示:
d <- tibble(
region = c('all'),
forename = c('forename67'),
surname = c('surname67'))
有人知道如果可能的话,我将如何使用dplyr实现这一目标?
Thannks
由于每一行都是唯一的用户,因此我们可以将row_number
粘贴到列名。
library(dplyr)
d %>%
mutate(forename = paste0("forename", row_number()),
surname = paste0("surname", row_number()))
# A tibble: 4 x 3
# region forename surname
# <chr> <chr> <chr>
#1 all forename1 surname1
#2 one forename2 surname2
#3 eleven forename3 surname3
#4 six forename4 surname4