修改R中DT名称的特定部分

Modifying a specific part of the name of a DT in R

我有以下DT

structure(list(HKU47_PSG_1_HW_0.txt = 66611.1718226969, HKU47_PSG_1_HW_1.txt = 66254.5524579138, 
    HKU47_PSG_1_HW_2.txt = 66972.3593176305, HKU47_PSG_1_HW_3.txt = 68419.8681965619, 
    HKU47_PSG_1_HW_4.txt = 66841.3761239946, HKU47_PSG_1_HW_5.txt = 66196.5383069813), .Names = c("HKU47_PSG_1_HW_0.txt", 
"HKU47_PSG_1_HW_1.txt", "HKU47_PSG_1_HW_2.txt", "HKU47_PSG_1_HW_3.txt", 
"HKU47_PSG_1_HW_4.txt", "HKU47_PSG_1_HW_5.txt"), row.names = c(NA, 
-1L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x0000000000100788>)

我想克隆这个 DT,从每个列名中取消这部分文本 HW_.txt. 我需要类似 names(data) <- c("new_name", "another_new_name") 的东西,它可以自动用于我有几个DT。我实际上并不清楚该怎么做。

您可以使用 subHW_ 替换为空字符串,并将 .txt 替换为空字符串,从而有效地从名称中删除这些部分:

names(data) <- sub('HW_', '', sub('\.txt', '', names(data)))