Этот безумный, безумный R!

Oct 28, 2013 02:44


Я все-таки восхищаюсь R. Конечно, во всех особенностях не разобрался.

я знаю-то Matlab и FORTRAN/C/C++, но R это гремучая смесь, которая наверно

обходит любой статистический пакет. Некоторые вещи сделать безумно просто и быстро.

Вот например курс валют с сайта ЦБ прочитать.


require(XML)
require(quantmod)
"parseQuotes" <- function(From) {
  fr <- read.csv(From, as.is = TRUE,header = FALSE) #читаем данные из файла
  fr <- xts(as.matrix(fr[,(3:6)]), as.Date(strptime(fr[,1], "%Y%m%d")))
  # функция strptime позволяет нам распарсить дату в заданном формате, в данном случае формат определяется выражением "%Y%m%d"
  colnames(fr) <- c('Open','High','Low','Close') #присваивамем новые имена колонам для совместимости с xts
  return(fr)
}

end_date<-format(Sys.time(), "%d.%m.%Y")
denom_date<-as.Date('1998-01-01');

# Считываем таблицу с сайта ЦБ.
d<-readHTMLTable(paste("http://www.cbr.ru/currency_base/dynamics.aspx?VAL_NM_RQ=R01235&date_req1=01.01.1992&r1=1&date_req2=",end_date))
Table<-d[[43]]
Len_Table<-length(Table[,1]) # Количество строк в таблице.
if (Len_Table>0){
  names(Table)<-list("Date", "Units","Ex_rate" )
  # Имя записываемого файла.
  ofn <- tempfile()

#Изменяем разделитель целой и дробной.
  pattern<-','
  replacement = '.'
  q_rate<-sub(pattern,replacement,as.character(Table$Ex_rate))
  qq<-as.double(q_rate)

# Распарсиваем дату
  fr <- as.Date(strptime(Table[,1], "%d.%m.%Y"))
  # Деноминация
  for(i in 1:Len_Table){
    if(fr[i]

В результате получаем временный файл с данными и приличный график!

Язык R

Previous post Next post
Up