更改 clean_names(看门人)的行为以删除下划线

Change behavior of clean_names (janitor) to remove underscore

我正在从名为 Concentration \n(ng/mL):

的导入 XLS 文件中清理数据框的名称
test_data <- tibble(
  subject = 1,
  `Concentration \n(ng/mL)` = 10
)

test_data_clean <- janitor::clean_names(test_data)

names(test_data_clean)

[1] "subject"              "concentration_ng_m_l"

如何更改 clean_names 的行为,使其输出以下内容?

concentration_ng_ml

clean_names 似乎在解释小写字母“m”之后的大写字母“L”。有什么办法可以改变这个规则吗?

您可以指定一个命名的字符向量,其中名称由向量替换。所以你可以尝试以下方法:

library(janitor)

clean_names(test_data, replace = c("mL" = "ml")) 

  subject concentration_ng_ml
    <dbl>               <dbl>
1       1                  10

或者,您可以尝试不同的 case 参数。例如,您可以使用 case = "none":

clean_names(test_data, case = "none") 

  subject Concentration_ng_mL
    <dbl>               <dbl>
1       1                  10 

如果您不想要所有真正的蛇壳,这可能是一个不错的选择。