2016-12-29 2 views
0

je le DT suivantModification d'une partie spécifique du nom d'un DT dans R

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>) 

et je voudrais avoir un clone de cette DT annulation de chaque nom de colonne cette partie du texte HW_ et .txt. J'aurais besoin de quelque chose comme names(data) <- c("new_name", "another_new_name") qui fonctionne automatiquement pour plusieurs DT que j'ai. Je n'ai pas vraiment d'idée claire sur la façon de le faire.

Répondre

1

Vous pouvez utiliser sub pour remplacer HW_ avec une chaîne vide, et remplacer .txt avec une chaîne vide, éliminant efficacement les parties des noms:

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