2013-02-24 3 views
3

Это не вопрос программирования как таковой, но, видя, как популярны R и ggplot2, я подумал, что спрошу, знает ли кто-нибудь, есть ли способ загрузить всю документацию для ggplot2 по адресу http://docs.ggplot2.org, чтобы они могли быть доступ в автономном режиме. Я часто в ситуации, когда доступ в Интернет недоступен.автономная документация ggplot2?

+2

Я слышал об альтернативной технологии, где они берут накопленные знания и сжимают их в вещь, которую они называют «книгой». Я не знаю, действительно ли у этого есть будущее, но вы могли бы [здесь] (http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/ref=sr_1_1?ie = UTF8 & qid = 1361733227 & sr = 8-1 & keywords = ggplot2) –

+4

Вы можете попробовать создать свою собственную версию, используя [staticdocs] (https://github.com/hadley/staticdocs), поскольку она появилась для создания веб-страниц, на которые вы ссылаясь –

+6

@Dirk Eddelbuettel Боюсь, что книга ggplot2 действительно устарела. Это все еще полезно для обсуждения концепций и основных разработок, но многое изменилось, онлайн-документация и книга никоим образом не взаимозаменяемы – alexwhan

ответ

9

Как насчет R Graphics Cookbook от Winston Chang?

Edit: Или используя wget как Бен Bolker предлагает:

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains=docs.ggplot2.org http://docs.ggplot2.org/current/ 

Опция --domains должна предотвратить следовать ссылки за пределами http://docs.ggplot2.org (как и в нижней части страницы). Однако я не проверял это.

+0

Я получаю только страницу с этой командой. – Dason

+0

Кажется, это опция --domain, которая вызывает у меня проблемы. 'wget -r -L http://docs.ggplot2.org/current/index.html' работает хорошо для меня. – Dason

+0

@Dason: Спасибо, была опечатка. Должна работать должным образом. – EDi

8

Сама страница создается с использованием пакета staticdocs от Hadley. Вы можете запустить staticdocs на ggplot2 самостоятельно, чтобы создать страницы. Для установки staticdocs вам понадобится пакет highlight. Вы можете получить, что here или я принимал его на GitHub для моего удобства, и вы можете получить его с Devtools с командами

library(devtools) 
install_github("highlight", "Dasonk") 

установить staticdocs вы можете использовать DevTools, а

install_github("staticdocs") 

Чтобы запустить staticdocs вам понадобится код ggplot2, и его проще всего захватить с помощью git. Предполагая, что вы находитесь в каталоге, в который вы хотите загрузить папку ggplot2, вы можете использовать следующее (при условии, что у вас установлен git).

git clone https://github.com/hadley/ggplot2.git 

В качестве альтернативы вы можете захватить источник пакета из CRAN page и распаковать это.

Удостоверьтесь, что у вас есть предлагаемые пакеты для ggplot2 (если вы этого не сделаете, staticdocs выйдет внезапно, как только он попадет в пример, который он не может выполнить, потому что у вас нет установленных пакетов). Если вы не уверены, что у вас есть все предлагаемые пакеты, проще всего установить ggplot2 с помощью параметра dependencies=TRUE.

install.packages("ggplot2", dependencies = TRUE) 

, то вы можете запустить staticdocs, используя следующие:

library(staticdocs) 
setwd("path/to/ggplot2/folder") 
build_package(".", "inst/staticdocs") 

Тогда вы можете найти все файлы, необходимые в инст/staticdocs вложенной и открытия index.html позволит вам просматривать локально.

Обратите внимание, что использование wget или какого-либо другого метода, вероятно, намного быстрее и намного проще, если вы его запустите. staticdocs занимает довольно много времени, чтобы пройти через завершение, и я не просматривал все страницы, чтобы убедиться, что все в порядке. Другим недостатком этого метода является то, что он работает исходя из текущего состояния разработки пакета и поэтому может немного опередить то, что вы на самом деле установили в своей системе.

3

Мой ответ не является конкретным.

Когда у вас есть интернет, вы можете вручную открыть каждую страницу и сохранить их. Например, если у вас есть Google Chrome (я уверен, что у других браузеров есть список расширений), вы можете установить либо Awesome Screenshot: Capture & Аннотировать или захват экрана (Google) из Интернет-магазина Chrome, а затем выбрать захват всего стр. Существует также расширение, которое позволяет сохранить страницу в виде файла PDF.

+0

+1 за идею. Это будет отлично подходит для раздачи. –

2

Другой подход заключается в использовании функции knit_rd() в пакете knitr. Это берет HTML-страницу страниц справки, вытягивает примеры и запускает их, захватывая вывод (текстовый или графический), как делает knitr. Это даст вам каталог файлов HTML (и графики), который можно просмотреть без подключения к Интернету. Он не похож на веб-сайт, созданный с помощью staticdocs, но имеет ту же информацию, в том числе выполненные примеры и графический вывод этих примеров.

Смежные вопросы