Я хотел воспроизвести таблицу из книги временных временных рядов Цая и понял, что, несмотря на то, что я могу это сделать, мой код кажется неуклюжим и наполненным плохими методами.
Я немного попробовал с plyr, но у меня ничего не вышло.
Так вот мой код:
library(fBasics)
url= 'http://faculty.chicagobooth.edu/ruey.tsay/teaching/fts3/d-ibm3dx7008.txt'
table1.2 = read.table(url,header=T)
l1=lapply(table1.2,basicStats)
naml1 = names(l1)
datmat = as.data.frame(matrix(0,nrow=nrow(l1$Date),ncol=4))
nams = names(l1)
j=1
for( i in nams){
datmat[,j] = eval(parse(text=paste("l1",i,sep="$")))
j=j+1
}
rownames(datmat)= rownames(l1[[1]])
colnames(datmat)=colnames(table1.2)
Меня не волнует сводная статистика по дате, поэтому просто избавьтесь от нее.
datmat =datmat[,-1]
Итак, я слышал, что eval (parse (text =) следует избегать, насколько это возможно. Я пытался использовать функцию get, но не работал.
Я просто пытаюсь избавиться от плохих практик программирования, поэтому любые советы приветствуются.