Сообщения

Сообщения за июнь, 2014

Правим разрешение экрана при загрузке Ubuntu 12.04, ElementaryOs Luna и прочих

Изображение
Разрешение экрана, которое использует загрузчик Ubuntu 12.04 (grub2), обычно слетает после установки проприетарных драйверов nvidia. На моём ноутбуке вместо положенных 1280x800 я увидел 640x480. По большому счету на работу системы не влияет. Но ради эстетических соображений можете поправить конфигурационный файл загрузчика /etc/default/grub . А именно, раскомментируйте следующую строчку и укажите правильное разрешение: #GRUB_GFXMODE=640x480 Не забудьте выполнить sudo update-grub .

R Замена NA последним значением

В пакете zoo есть отличная функция  na.locf , которая подставляет вместо NA ближайшее предшествующее определенное значение. Продемонстрирую на примере: # будет возвращен вектор 1 1 1 2 2 2 2 3 3 na.locf ( c ( 1 , NA , NA , 2 , NA , NA , NA , 3 , NA ) ) Причем, если в функцию передать значение fromLast = TRUE , то вместо NA будет устанавливаться ближайшее следующее определенное значение: # вернёт вектор 1 2 2 2 3 3 3 3 na.locf ( c ( 1 , NA , NA , 2 , NA , NA , NA , 3 , NA ) , fromLast = TRUE )

R Установка библиотеки rusquant

Для R написана отличная библиотека, предназначенная для количественного анализа финансовых рынков - quantmod . Для российских трейдеров существует дополнение к этой библиотеке - rusquant , которая позволяет получать данные для анализа с сайта Финам. К сожалению автор не успевает выкладывать свежие сборки rusquant под каждый новый релиз R. В этой связи возникают трудности с установкой библиотеки. У меня получилось установить rusquant следующим образом: Ставим quantmod из бинарных пакетов, чтобы в дальнейшем не было проблем с зависимостями. install.packages ( "quantmod" ) Ставим rusquant из исходников install.packages ( "rusquant" , repos= "http://R-Forge.R-project.org" , type= "source" )

R Как применить функцию к каждой строке, включая n следующих строк

Потребовалось мне применить функцию к каждой строке data.frame, включая n следующих строк. В голове крутилось apply, sapply, lapply... Не понимал как получить номер текущей строки в функции apply, чтобы относительно её зацепить в расчет следующие за ней строки. По всем законам гениальности решение оказалось очень простым. Надо выполнить apply не по исследуемому data.frame, а по индексу строки и использовать этот индекс в применяемой функции для получения нужных строк data.frame. Например так: sapply ( 1 : nrow ( df ) , function ( i ) sum ( df [ i: ( i+n ) , ] ) )