Предположим, у меня есть список переменных (класс: xts) в .GlobalEnv
, идентифицированный следующим образом:
ABC.xyz
DEF.xyz
GHI.xyz
Эти переменные генерируются через функцию.
В настоящее время «заголовки столбцов» в каждой переменной являются ерундой из вывода исходной функции.
Я хотел бы переименовать столбцы в каждой из этих переменных, указав первые три буквы имени переменной, за которыми следует общий суффикс; сказать:
".XXX"
Я попытался написать быстрый цикл, который использует функцию dimnames(x)
для достижения этого, следующим образом:
rename.list <- ls(pattern="*.xyz",envir=.GlobalEnv)
for (i in 1:length(rename.list)){
dimnames(rename.list[i]) <-list(
NULL,
c(paste(substr(rename.list[i],0,3),".XXX",sep="")))
}
Это приводит к ошибке:
error in dimnames(rename.list[i]) <- list(NULL, c(paste(substr(rename.list[i], 0, 3), :
'dimnames' applied to non-array
Я понимаю, почему возникает эта ошибка (использование dimnames в rename.list вызывает само имя, а не объект xts), но не уверен, как это обойти. Пробовал использовать get
и т.д.
Подробности:
Пакет R 2.13 Win 7 «xts» загружен.
Заранее большое спасибо за любую помощь (или предложения вообще избежать цикла!)