У меня 37 временных рядов, и у каждого есть 9 столбцов.
Я хочу отставать 3 из этих 9 столбцов.
Предположим, что мои временные ряды называются TS1.xts, ..., TS37.xts, и я хочу сделать
TS1.xts$col1 <- lag.xts( TS1.xts$col1 )
TS1.xts$col1 <- lag.xts( TS1.xts$col1 )
TS1.xts$col3 <- lag.xts( TS1.xts$col3 )
По логике вещей, я не то, чтобы написать этот кусок 37 раз. У меня есть список
time.series <- c('TS1', ... , 'TS37')
И я попытался
for(ts in time.series){
assign(paste0(ts, '.xts$col1'), lag.xts( parse(text=paste0(ts, '.xts$col1'))));
assign(paste0(ts, '.xts$col2'), lag.xts( parse(text=paste0(ts, '.xts$col2'))));
assign(paste0(ts, '.xts$col3'), lag.xts( parse(text=paste0(ts, '.xts$col3')))); }
Но R продолжает выдавать следующую ошибку: '}' неожиданно в "}".
Я не понимаю, что это значит, и понятия не имею, как сделать этот код другим способом. Я также пытался оценить выражение внутри lag.xts()
с помощью eval()
Любая помощь приветствуется.