如何在 R 的 "janitor" 包中将 `clean_names` 与 `row_to_names` 结合使用

How to use `clean_names` in conjunction with `row_to_names` in the "janitor" package of R

我有以下数据集:

dataset

我想做的是:

dat %>% row_to_names(dat, row_number = 1)

问题是,第 1 行中的某些名称重复(例如,有 2 个 North America 名称)。我不介意这一点,我只想使用 clean_names 来保留重复项,但称它们为 North America_1North America_2 以便我可以区分它们。

我收到的当前错误消息是 1: In row_to_names(., t.AEC, row_number = 1) : Row 1 does not provide unique names. Consider running clean_names() after row_to_names().,但我不知道如何使用 clean names...有什么想法吗?

使用管道时不要再次传递数据框名称。

library(janitor)

dat <- data.frame(V1 = c('North America', 2), 
                  V2 = c('North America', 3), 
                  V3 = c('India', 4))

dat <- dat %>% row_to_names(row_number = 1) %>% clean_names()

#  north_america north_america_2 india
#2             2               3     4

因为我们有重复的列名 row_to_names 函数 returns 关于它的警告。