Портал аспирантов
 

Вернуться   Портал аспирантов > Компьютер для аспирантов > Software (программное обеспечение)

Ответ
 
Опции темы
Старый 19.12.2013, 17:07   #61
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

Дмитрий В., надо при обработке корпуса не выделять корни. Других способов нет.
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Реклама
Старый 18.05.2014, 22:03   #62
Alena1
Newbie
 
Регистрация: 18.05.2014
Сообщений: 3
По умолчанию

Здравствуйте, помогите пожалуйста написать Garch модель в R
Alena1 вне форума   Ответить с цитированием
Старый 18.05.2014, 22:39   #63
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

Цитата:
Сообщение от Alena1 Посмотреть сообщение
Здравствуйте, помогите пожалуйста написать Garch модель в R
См. http://www.aspirantura.spb.ru/forum/...5&postcount=35

Пока не вижу, в чем надо помочь. Вопроса как такового нет. А если "помогите пожалуйста"="напишите за меня", то предупреждаю, что я этим заниматься не буду.
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 06.06.2014, 18:20   #64
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

Нам пишут
Цитата:
В качестве стат программы я привык работать с SPSS и в принципе она меня устраивала с точки зрения тех параметров, которые она дает возможность анализировать
Однако, видимо, R дает больше возможностей (а так ли это? в чем принципиальная разница подходов для гуманитария?)
С чего начать и в какой программной среде работать?
1. Больше ли возможности R?
R даёт больше возможностей хотя бы тем, что для неё существует бесчисленное множество пакетов, покрывающих практически любую извращенную фантазию исследователя. Также определенное удобство дает то, что это скриптовый язык и у исследователя имеется возможность делать типовые действия и потом их повторять, также удобно обмениваться данными и кодом с другими исследователями. Например, с помощью Github или Rpubs

2. В чем разница подходов?
Принципиальная разница подходов в том, что это не ориентированный на кляцкание мышкой инструмент. Надо учить "волшебные слова", т.е. команды и вести диалог с компьютером, объясняя ему на языке R, что вам от него надо, поэтому потребуется некоторое время на то, чтобы перестроиться.

3. С чего лучше начать и в какой среде работать?
Начать лучше с начала, самое разумное, с бесплатных курсов.В первом курсе как раз рассказывают про инструменты исследователя. Также есть блог, который посвящен именно R и там есть список учебников http://r-analytics.blogspot.ru/p/blog-page_20.html
Ну, и само собой, необходимо установить R и RStudio. На мой взгляд это самое удачное сочетание. Тут и работать.

Если перед вами стоят задачи классического DataMining (кластерный и регрессионный анализ, машинное обучение), то стоит обратить внимание на пакет rattle. Его я рекомендую студентам, которым нужно решать такие задачи тыкая мышкой в кнопки. Что хорошо, в результате создается скрипт-протокол, который можно будет использовать потом уже не тыкая мышкой по экрану.

Если кратко, то вот так.
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 05.10.2014, 21:22   #65
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

После обновления RStudio опять началась ерунда с путями, содержащими русские буквы под Windows.

Чтобы не забыть пишу, как я с этим борюсь.
1. Добавил переменную окружения в меню:
Панель управления-Система-Дополнительно-Переменные среды
R_LIBS_USER со значением C:\RLIB (как вариант)

Перенес туда все пользовательские библиотеки из папки C:\Users\Хогфазер\Documents\R\win-library\3.1

2. Тем путям к папкам с текущим R проектом, которые используют русские буквы, поставил в соответствие виртуальный диск, для чего написал простенький командный файл runme.cmd, который разметил на рабочем столе:

Код:
subst x: "C:\Users\Хогфазер\Dropbox\Статьи\2014\КГАМ\Совсем уж ерунда"
pause
subst x: /D
Напоминаю, что кодировка командного файла должна быть DOS (CP866).
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 22.10.2014, 01:40   #66
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

О R под андроид.

Есть три варианта работать с R под Android.
Самый простой: поставить приложение R Console Free
Из недостатков: проблемы с графикой. Т.е. графики не рисует. Но работает.

Второй вариант: развернуть дистрибутив Debian и под ним поставить R
Описание вот тут
Теоретически, можно заставить и графики рисовать (в комментариях есть рецепт), но у меня не настолько хорошее зрение, чтобы на телефоне что-то рассмотреть.

Третий вариант. http://www.r-fiddle.org/
Все делать в облаках. C русским языком проблемы, зато рисует графики.
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 30.12.2015, 13:53   #67
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

"Давненько не держал в руках я шашек".

Ну, что за Новый год, да без ёлочки.

Опять же, что интересно людям. Людям интересен козёл и тигр курс доллара, да цена на нефть.

Итак, в сегодняшнем коде показываем.
1. Как получить данные с Яндекс (недокументировано)
2. Как слить данные в одну таблицу
3. Как воспользоваться преимуществами новой версии ggplot и использовать возможность определить пользовательские символы для отображения графиков.
4. Как удовлетворить строгих редакторов журналов, устанавливающих размер шрифта и размер картинки.

Итак, строим график за 2015 год зависимости курса ЦБ от цены на нефть.

Код:
library(ggplot2)
require(XML)

# Загружаем цену нефти
download.file("https://news.yandex.ru/quotes/graph_1006.xml","graph_1006.xml")
data <- xmlParse("graph_1006.xml")
xml_data <- xmlToList(data)
graphData1<-data.frame(Dat=format(as.Date(as.numeric(unlist(strsplit(xml_data$x,";")))/3600/24, origin = "1970-01-01"),"%Y-%m-%d"),
                Brent=as.numeric(unlist(strsplit(xml_data$y$text,";"))))

# Загружаем курс USD в рублях
download.file("https://news.yandex.ru/quotes/graph_1.xml","graph_1.xml")
data <- xmlParse("graph_1.xml")
xml_data <- xmlToList(data)
graphData2<-data.frame(Dat=format(as.Date(as.numeric(unlist(strsplit(xml_data$x,";")))/3600/24, origin = "1970-01-01"),"%Y-%m-%d"),
                      USD=as.numeric(unlist(strsplit(xml_data$y$text,";"))))

# Объединяем
graphData<-merge(graphData1,graphData2,by="Dat")
graphData$year=as.factor(format(as.Date(graphData$Dat),"%Y"))
graphData$month=as.factor(format(as.Date(graphData$Dat),"%m"))
graphData$wd=as.factor(format(as.Date(graphData$Dat),"%u"))

# "В лесу родилась ёлочка..."
# См. http://www.r-bloggers.com/geom_christmas_tree-a-new-geom-for-ggplot2-v2-0/
# Нижеследующий код нужен для построения елочек

GeomChristmasTree <- ggproto("GeomChristmasTree", Geom,
                             required_aes = c("x", "y"),
                             default_aes = aes(shape = 19, colour = "black", 
                                               fill = "green4", size = 3,
                                               linetype = 1, alpha = 1,
                                               fontsize = 1),
                             draw_key = draw_key_polygon,
                             
                             draw_panel = function(data, panel_scales, coord) {
                               coords <- coord$transform(data, panel_scales)
                               
                               # each tree has 4*branches + 3 points
                               if (length(coords$size) == 1) {
                                 tsize <- rep(pmax(1, round(coords$size)), length(coords$x))
                                 theight <- rep(pmax(0, round(coords$size)), length(coords$x))
                               } else {
                                 tsize <- pmax(1, round(coords$size))
                                 theight <- pmax(0, coords$size)
                               }
                               
                               # scale factors
                               r01x <- diff(range(coords$x))/100
                               r01y <- diff(range(coords$y))/100
                               
                               # coords
                               longx <- unlist(lapply(seq_along(coords$x), function(i) {
                                 if (tsize[i] == 1) {
                                   dx <- -c(0.3, 0.3, 1.2, 0, -1.2, -0.3, -0.3)
                                 } else {
                                   dx <- -c(0.3, 0.3, rep(c(1.2,0.3), tsize[i]-1), 1.2, 0, -1.2, rep(c(-0.3,-1.2), tsize[i]-1), -0.3, -0.3)
                                 }
                                 r01x*dx + coords$x[i]
                               }))
                               longy <- unlist(lapply(seq_along(coords$y), function(i) {
                                 if (tsize[i] == 1) {
                                   dy <- c(-0.5, 0, 0, theight[i], 0, 0, -0.5)
                                 } else {
                                   dy <- c(-0.5, 0, 0, rep(1:(tsize[i]-1), each=2), theight[i], rep((tsize[i]-1):1, each=2), 0, 0, -0.5)
                                 }
                                 r01y*dy + coords$y[i]
                               }))
                               longid <- unlist(sapply(seq_along(coords$y), function(i) {
                                 rep(i, each=4*tsize[i]+3)
                               }))
                               
                               grid::polygonGrob(
                                 longx, 
                                 longy,
                                 id = longid,
                                 gp = grid::gpar(col = coords[,"colour"],
                                                 fill = coords[,"fill"],
                                                 fontsize = 10)
                               )
                             }
)

geom_christmas_tree <- function(mapping = NULL, data = NULL, stat = "identity",
                                position = "identity", na.rm = FALSE, show.legend = NA, 
                                inherit.aes = TRUE, ...) {
  layer(
    geom = GeomChristmasTree, mapping = mapping,  data = data, stat = stat, 
    position = position, show.legend = show.legend, inherit.aes = inherit.aes,
    params = list(na.rm = na.rm, ...)
  )
}
# "В лесу она росла..."

# Строим график зависимости курса от цены на нефть


ggplot(subset(graphData,year=="2015"), aes(x=Brent, y=USD)) + 
  stat_smooth()+
  geom_christmas_tree(aes(fill=month,size=wd)) +
  labs(x="Цена на Нефть Brent (ICE.Brent), USD/баррель",y="Курс USD ЦБ РФ, руб.")+
  scale_fill_discrete(name = "Месяц")+
  scale_size_discrete(guide=FALSE)+
  theme_bw()+theme(text=element_text(size=14))

# Сохраняем картинку. Размер в дюймах.
ggsave("Pic1.png",width=6,height=6,dpi=300)
Результат



Цвет ёлочки определяется месяцем, а размер -- днем недели. Обижать художника прошу вот здесь.

Модификация графика

Код:
ggplot(subset(graphData,year=="2015"), aes(x=Brent, y=USD)) + 
  stat_density_2d(aes(color=month))+
    geom_christmas_tree(aes(fill=month,size=wd)) +
  labs(x="Цена на Нефть Brent (ICE.Brent), USD/баррель",y="Курс USD ЦБ РФ, руб.")+
  scale_fill_discrete(name = "Месяц")+
  scale_size_discrete(guide=FALSE)+
  scale_color_discrete(guide=FALSE)+
  theme_bw()+theme(text=element_text(size=14))
ggsave("Pic1.png",width=6,height=6,dpi=300)


Последний раз редактировалось Hogfather; 30.12.2015 в 14:55.
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 18.01.2016, 10:46   #68
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию Разные полезные ссылки по теме

1. Регулярные выражения в R (POSIX 1003.2 и Perl)

2. Применение эмоджи на ggplot. Что-то в таком стиле:


3. Интересная статья про получение дисперсии и матожидания из медианы и размаха. Идея в следующем.

Матожидание:


Дисперсия:


Код:
f<-function(a,m,b,n)
{
mn<-(a+2*m+b)/4+(a-2*m+b)/(4*n)
s=sqrt((a*a+m*m+b*b+(n-3)*((a+m)^2+(m+b)^2)/8-n*mn*mn)/(n-1))
c(mn,s)
}
4. Симуляция Цепей Маркова с дискретным временем в R (DTMC).

5. Для R-Studio разработаны шпаргалки


6. Задачи связанные с методом анализа иерерхии (МАИ) теперь легко решать в R с использованием пакета ahp. Также в этом пакете можно использовать функцию предпочтения.

7. Избегаем наложение тектовой информации на графиках с помощью пакета ggrepel



8. Статья, как обнаружить гетероскедатичность и убрать её из моделей.

9. Обновился пакет для построения тернарных графиков ggtern. Тернарные графики полезны, когда исследуюшь взаимосвязь трех переменных. Выглядят они, например, вот так:

---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Старый 12.10.2016, 16:23   #70
Hogfather
Platinum Member
 
Регистрация: 22.07.2010
Сообщений: 3,023
По умолчанию

Столкнулся с проблемой: установлен R, выхода в Интернет в вузе на учебных компьютерах нет, но нужно устанавливать дополнительные пакеты для R. Поможет пакет miniCRAN, который создает уменьшенную копию репозитория со всеми зависящими пакетами. Короткий код, чисто для примера: создание репозитория для самых известных пакетов и последующая установка пакета из полученного репозитория (под windows).

Код:
library("miniCRAN")
tags <- c("ggplot2", "data.table", "plyr", "knitr", "shiny", "xts", "lattice")
pkgList <- pkgDep(tags, suggests = TRUE, enhances=FALSE, availPkgs = cranJuly2014)
dir.create(pth <- file.path("miniCRAN"))
makeRepo(pkgList, path=pth, type="source")
updateRepoIndex(path, type = "source")
list.files(pth, recursive = TRUE)
makeRepo(pkgList, path=pth, type="win.binary")
updateRepoIndex(path, type = "win.binary")
pkgAvail(repos=pth)
install.packages("ggplot2", repos ="file:///test/miniCRAN")
---------
"So Long, and Thanks for all the Fish"
Hogfather вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 22:41. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2017, «Аспирантура. Портал аспирантов»
Рейтинг@Mail.ru