Матрунич Консалтинг

Анализ данных, визуализация, маркетинговые исследования, язык R

Category: Блог (Page 2 of 4)

Электронная книга для работников умственного труда

Клавиатура Amazon Kindle DX

Клавиатура Amazon Kindle DX

В силу специфики своей деятельности постоянно работаю на компьютере, что приводит к повышенной нагрузке на глаза. Поэтому я стараюсь сокращать время, проводимое перед монитором. Одна из таких возможностей – это чтение различных статьей и книг не на компьютере, а на устройстве для чтения электронных книг, работающем на электронных чернилах. Специально под чтение документов формата А4 я приобрёл электронную книгу
Amazon Kindle DX с экраном с диагональю 9,7 дюйма (24,6 см).

Преимущества электронной книги над экраном компьютера или планшета

Главное примущество электронной книги перед компьютером или iPad заключается в том, что она является источником отражённого света, когда монитор или планшет излучают прямой свет. В природе практически единственным источником прямого света является солнце. Как часто и как долго вы обычно смотрите незащищённым глазом на солнце? На солнце мы смотреть не можем, а в дисплей компьютера можем политься без перерыва, хотя к такому занятию наши глаза совершенно не адаптированы. Поэтому если вы хотите сохранить своё зрение, заменяйте чтение с монитора компьютера или планшета на чтение с устройства с отражённым светом.

Дополнительное преимущество электронной книги – это длительная работа от батареи. Свой Kindle DX при отключенном модуле 3G и средней интенсивности чтения я заряжаю не чаще одного раза в 2-3 недели.

Особенности Kindle DX по сравнению с бумажными книгами

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

  • С высококачественной печатной литературой работать приятнее. Недавно листал бумажную R Graphics Cookbook Уинстона Чанга. Это, конечно, удовольствие! Качественная бумага, отличные цветные иллюстрации. Очень приятно работать с такой книгой. В электронном варианте этого не ощутить: ни качество печати, ни, тем более, цветные иллюстрации.
  • Чёрно-белые иллюстрации вместо цветных. Поскольку в Kindle DX используются одноцветные электронные чернила, что все цветные иллюстрации и цветовое оформление текста передаются через градации серого. Если создатель графика не думал о таком преобразовании, не применил соответствующую цветовую палитру и не использовал альтернативные цвету варианты передачи информации, то у читателя могут возникнуть проблемы с пониманием этого графика.
  • Быстро не заглянуть на другую страницу и не пролистать. Если вы работаете со статьёй или книгой, насыщенной формулами, таблицами и иллюстрациями, то вам приходится постоянно перемещаться между разными страницами: на одной странице формула, а на другой её описание. Здесь у бумажной книги сразу два преимущества. Во-первых, у неё всегда открыто сразу две страницы, а часто бывает так, что график и его описание расположены на соседних страницах, поэтому и листы переворачивать не нужно. Во-вторых, в бумажной книге гораздо быстрее можно вернуться на несколько страниц назад, заложить закладки или даже свой палец, быстро пролистать большое количество страниц. В электронной книге всё сложнее и медленнее: отображается всего одна страница; перемещаться между страницами можно последовательно вперёд или назад (при этом, если вы хотите пролистать достоточно большое количество страниц, заметная часть времени будет уходить на прорисовку каждой страницы, особенно в случае с pdf-документами); чтобы перейти сразу на несколько страниц, нужно указать конкретный номер страницы или выбрать, на какую закладку перейти. К примеру, чтобы перейти на страницу с номером 221, нужно совершить не менее 6 нажатий: Menu > Перейти к... > Alt (причём не нажать, а удерживать во время ввода цифр) > 221 > Джойстик вниз > Джойстик нажать. Чтобы вернуться обратно, процедуру повторяем, но с другим номером страницы.
  • Книга может быть плохо сконвертирована в электронный формат. Например, есть замечательная книга An Introduction to Statistical Learning with Applications in R, которую авторы опубликовали для свободного доступа в формате PDF. Также эта книга доступна в бумажном и электронном виде в магазине Amazon. Я решил взглянуть на электронную версию и скачал ознакомительную часть этой книги на свой Kindle. Форматирование оказалось ужасным. Поэтому прежде чем покупать электронную версию книги, насыщенной таблицами, формулами или исходными кодами компьютерных программ, скачайте ознакомительную часть и проверьте, насколько хорошо подобраны стили оформления.

Логотип и часть экрана Amazon Kindle DX

Логотип и часть экрана Amazon Kindle DX


Конечно, у электронной книги есть и преимущества перед бумажными:

  • Экономия бумаги, краски и другие экологические бонусы (интересно. сколько книг/страниц нужно прочитать, чтобы гипотетический экологический ущерб от этих непроизведённых бумажных книг превысил экологический ущерб от производства электронного устройства).
  • Экономия места на рабочем столе, в шкафах и на прочей мебели.
  • Электронные версии книг дешевле бумажных: та же книга R Graphics Cookbook в бумажном виде стоит $32, а в электронном – $17.
  • Покупать электронные версии книг в Интернет-магазине Amazon можно прямо из Kindle, лёжа на диване. Книга окажется на устройстве в течение 1-2 минут. А поскольку устройство снабжено модулем 3G, то покупки можно совершать в любой точке земного шара, где есть покрытие сотовой связи. За соединение платит Amazon, а покупатель только оплачивает книгу.

Особенности работы с pdf-текстами на Kindle DX

Страницы любой статьи или книги в формате PDF обрамлены полями. Для Kindle DX поля страницы – это непозволительная роскошь, поскольку устройство будет масштабировать страницу, чтобы она вместе с полями целиком умещалась на экране. К сожалению, сам Kindle DX не умеет самостоятельно обрезать поля, поэтому я делаю это вручную – перед загрузкой документа на устройство. Для удаления полей я пользуюсь бесплатной программой с открытым исходным кодом briss. Работает она в любой операционной системе, но требует наличия Java.

Ещё одно неудобство – это невозможность поиска слова во встроенном словаре прямо из pdf-документа. В других форматах это возможно – указываешь курсором интересующее слово, и первые две строчки из его определения выводятся внизу экрана, а при необходимости можно сразу же перейти к полному определению в словаре, затем вернуться назад в книгу. В формате PDF приходится выходить в список всех книг, открывать словарь, вводить слово, а потом в обратном порядке возвращаться в документ. Видимо, из этой же особенности растут ноги невозможности в pdf-документах делать пометки и выделения. Всё это странно, так как искать слово среди текста в pdf-документе Kindle умеет.

Как мне кажется, указанные неудобства могут быть решены путём модификации прошивки устройства, но Amazon, похоже, не собирается обновлять прошивку для Kindle DX. Возможно, данная модель читалки не очень хорошо продаётся: в основном-то люди читают литературу без формул, таблиц и графиков, которая может быть легко преобразована в формат mobi, который можно удобно читать и на моделях Kindle с меньшим размером экрана.

Как купить Kindle DX

На момент публикации Kindle DX с экраном 9,7 дюйма и бесплатным 3G в магазине Amazon стоит $199, что почти в два раза дешевле, чем та цена, когда устройство только появилось на рынке. В российских Интернет-магазинах, по данным Яндекс-Маркета, самая низкая цена на Kindle DX без учёта доставки составляет 9990 рублей. Кстати, по тем же Яндекс-данным, это самое дешёвое устройство для чтения электронных книг с диагональю 9,7 дюйма.

Amazon не высылает Kindle DX в Россию, поэтому если вы хотите купить его в США, то можно воспользоваться сервисом склада-посредника. Я пользуюсь услугами Shopotam.ru. По приблизительным подсчётам, доставка Kindle DX в Россию обойдётся от $30 до $60 и займет от одной до шести недель, в зависимости от способа доставки, который вы выберите. Стоимость доставки собственно Kindle DX можно снизить, если вместе с читалкой вы купите и другие товары, которые потом будут объеденины на складе Shopotam.ru в одну посылку, а потом отправлены в Россию.

Кстати, Kindle DX также будет полезен для чтения не pdf-файлов людям с плохим зрением – размер шрифта можно существенно увеличить, а на странице всё равно останется приемлимое количество строк.

Дополнительная информация

Как платить банковской картой в Интернете безопасно

  • Безопасно ли расплачиваться кредитной картой через Интернет?
  • Где гарантии, что Интернет-магазин не снимет с моей карты больше денег, чем стоит товар?
  • Не сможет ли магазин в будущем, зная данные моей банковской карты, снимать мои деньги просто так?

Дистанционная оплата покупок с помощью банковской карты – давно устоявшаяся практика для западных стран. Первые, получившие широкое распространение кредитные карты, появились в США в 1958 году: это были карты под брендом BankAmericard, который потом был сменен на Visa. Прародитель карт MasterCard появился в 1966 году также в Соединённых Штатах. С тех пор жители западных стран используют кредитные карты как для обычных покупок,  так и для дистанционных  – через каталоги и телефон, а теперь и через Интернет.

Дистанционные покупки – операции без присутствия карты

Для примера давайте сначала рассмотрим ситуацию не с покупкой в Интернете, а с покупкой по телефону или по каталогу.

Чтобы приобрести товар по каталогу, покупатель указывает в письме продавцу, какой товар он хочет приобрести, реквизиты своей кредитной карты, сумму покупки, и ставит свою подпись. Продавец получает заказ, и обращается в свой банк с указанными покупателем реквизитами карты. Банк продавца через посредника в виде Visa или MasterCard делает запрос в банк покупателя на перевод указанной суммы. Банк покупателя, видя, что продавец указал верные реквизиты карты, делает вывод, что покупатель действительно совершил эту покупку, и перечисляет деньги со счёта покупателя в банк продавца.

Где в этой процедуре место для обмана покупателя магазином? Например, магазин может запросить у банка бОльшую сумму или отправлять запросы на новые суммы денег (реквизиты карты покупателя у него же остались!). Конечно, такая схема может сработать. Но, как только покупатель обнаружит (например, через ежемесячный отчёт об операциях по банковскому счёту), что с его счёта этим магазином были сняты лишние деньги, он сообщает об этом в свой банк. Банк передаёт запрос посреднику (Visa/MasterCard), и посредник потребует у магазина предоставить доказательства того, что покупатель соглашался платить спорные суммы. А у магазина-мошенника таких доказательств не будет: новых заказов от покупателя не было, подписи покупателя нет, товар не отправлен. В итоге, этот магазин будет наказан, а деньги будут возвращены покупателю. Понятно, что мошенники могут подделать подпись, но если на один и тот же магазин начнут поступать жалобы от разных покупателей, то здравствуй полиция, уголовное дело и тюрьма. Поэтому ни один серьёзный магазин, боясь за свою репутацию, не станет снимать с карт своих клиентов лишние деньги, так как это ставит под угрозу всё их предприятие (и личное благополучие).

Покупки через Интернет – это процедура, аналогичная покупкам по каталогам, только данные о карте передаются не обычной почтой, а через Интернет. Отсутствует только подпись покупателя на заказе, которая заменяется на нажатие кнопки «Оформить заказ» на сайте продавца.

9 шагов по защите своей банковской карты в Интернете

Итак, как защитить себя от мошенничества при совершении покупок в Интернете?

  1. Надежные продавцы. Пользуйтесь проверенными магазинами, о которых много отзывов на сторонних сайтах и форумах. Например, если вы хотите воспользоваться магазинами США, Германии, Великобритании или Китая, то хороший подбор магазинов есть на сайте ShopoTam.ru. Кстати, сервис ShopoTam предлагает услугу склада-посредника: вы покупаете, например в США, товары из разных магазинов, отправляете их на склад ShopoTam в Америке, на складе все товары объединяются и общей посылкой отправляются в Россию.
  2. Проверка на фальшивые сайты. Один из способов кражи номеров кредитных карт, когда злоумышленники делают фальшивый сайт известного магазина. Вы заходите , как вам кажется, на сайт проверенного магазина, делаете там покупки, оформляете заказ и вводите данные своей банковской карты. А как потом оказалось, сайт был не amazon.com, а amozon.com. Поэтому проверяйте тот адрес, который указан в адресной строке вашего браузера, т.е. действительно ли это тот сайт, о котором вы думаете.
  3. Здравый смысл. Не верьте продавцам, которые предлагают слишком шикарные условия, чтобы это было правдой. Например, вы хотите купить электронную читалку от Amazon с экраном 9 дюймов, которая в официальном магазине стоит 199 долларов. И тут вы находите таинственный магазин, который предлагает этот же товар за 40 долларов. Реальна ли такая цена? Какую прибыль получит продавец, продав читалку за такую цену? Наверно, окажется в минусе. А что у них с гарантией, с возвратом? Поищите отзывы на этот магазин, возможно, что-то прояснится. Если никаких отзывов вообще нет, лучше не рисковать.
  4. Защищённое Интернет-соединение. Любой более-менее приличный Интернет-магазин использует шифрование для передачи сведений о банковской карте покупателя. Когда вы переходите к оформлению заказа, и сайт магазина открыл вам форму для ввода реквизитов вашей карты, посмотрите на адрес текущей страницы в адресной строке. Он должен начинаться с https. Браузер Mozilla Firefox на таких страницах около https также отображает замочек. https означает, что в данный момент соединение между вашим компьютером и сайтом магазина зашифровано, и пионер-хакер не сможет перехватить сведения о вашей банковской карте. Если при передаче реквизитов карты магазин не использует зашифрованное соединение, то лучше таким магазином не пользоваться.
  5. Платёжная система PayPal – это посредник, которому вы доверяете реквизиты вашей карты, и Интернет-магазин во время оплаты отправляет запрос не в банк, а в систему PayPal. Система PayPal получает запрос от магазина на списание определённой суммы с вашей карты, после чего запрашивает у вас разрешение на отправку этой суммы этому магазину. Вы разрешаете, PayPal снимает деньги с вашей карты и отправляет продавцу. При этом продавец не получает доступа к реквизитам вашей карты. Ещё один бонус для покупателя, что у PayPal очень строгая политика по отношению к продавцам. Поэтому если магазин предлагает принять оплату через PayPal, и у вас есть аккаунт PayPal, то воспользуйтесь этим вариантом.
  6. Лицензионное программное обеспечение и обновлённые антивирусные базы на вашем компьютере. Никакое https-шифрование, посредник в виде PayPal или самый проверенный Интернет-магазин не помогут уберечь вашу карту, если компьютер, с которого вы совершаете покупки, заражён вредоносной программой, цель которой  украсть реквизиты вашей карты. Если вы пользуетесь лицензионным ПО, то оно регулярно обновляется, и все обнаруженные дыры, с помощью которых вирусы и черви могут сделать своё грязное дело, закрываются.
  7. Доказательства совершения оплаты. Бывают случаи, что вроде бы вы оплатили товар, а деньги до продавца не дошли. Или он утверждает, что они не дошли. Т.е. с вашего счёта они были списаны, а где застряли – непонятно. В этом случае вы захотите отменить операцию списания. Чтобы вашему банку было проще это сделать, ему очень пригодятся копии страниц (скриншоты), на которых видно, что вы совершили покупку, а сайт магазина сообщил об успехе операции («Ваш заказ принят»). Поэтому, если вы покупаете что-то в непроверенном магазине, сумма операции велика или что-то вселяет в вас какие-то подозрения и неуверенность, но купить очень хочется, то не поленитесь и сделайте скриншоты всех ключевых моментов при оформлении заказа и сохраните их для истории.
  8. Без суеты. Будьте терпеливы, когда нажимаете на кнопки «Оплатить» или «Подтвердить платёж»: нажимайте только один раз и ждите до того момента, когда обновление страницы завершится. Иначе вы рискуете оплатить свой товар два или более раз (по количеству нажатий). Двойное нажатие на кнопку «Подтвердить платёж» может быть проинтерпретировано платёжной системой как согласие отправить платёж два раза. Также не перезагружайте страницу в эти моменты. Если вдруг сама страница не перезагружается, и из её содержания непонятно, прошла  транзакция или нет, то лучше эту страницу не закрывать, а в отдельном окне или вкладке проверить, были ли списаны деньги со счёта (через Интернет-банк) и дошли ли деньги до продавца (через сайт Интернет-магазина). Бывает, что период между списанием с банковского счёта покупателя до зачисления на счёт продавца может достигать нескольких часов. Так у меня было с платёжной системой RBKmoney.
  9. Виртуальные кредитки. Многие банки и платёжные системы (например QIWI) предлагают клиентам виртуальные карты. Вы зачисляете на них какую-то определённую сумму, необходимую для совершения покупки, а больше на этой карте никаких средств нет. Также можно завести в одном банке сразу две карты, одну из которых использовать для Интернета. Другой вариант из этой серии – воспользоваться услугой Safe от Связного банка: на карточном счёте лежат деньги для посещения магазинов и покупок в Интернете, а основные запасы переведены на отдельный Safe-счёт.

Блокировка средств на карте

Технически процесс оплаты состоит из двух частей: сначала на счёту покупателя блокируется сумма покупки, а затем происходит списание средств. Например, при оформлении заказа магазин блокирует сумму на вашем счёте, а снимает эти деньги только тогда, когда отправляет товар по почте покупателю. Возможны такие случаи, что продавец заблокировал сумму, а затем отказался от продажи. В моей практике так произошло, когда уже после блокировки суммы американский продавец обнаружил, что адресом доставки является склад посредника ShopoTam.ru, т. е. американский продавец не захотел, чтобы товар из США попал в Россию по той причине, что в у нас есть официальный представитель этого продавца (понятно, с ценниками повыше).

Что происходит с деньгами, которые заблокированы, но так и не восстребованы продавцом? В этом случае эта сумма станет снова доступна через 30 дней. Поэтому,  если есть возможность подождать,  никаких действий делать не нужно. В ином случае доступна процедура ранней разблокировки суммы и следует обратиться  в ваш банк.

Моя история с американским товаром закончилась хорошо: на Amazon обнаружился аналогичный товар, который был успешно отправлен на склад ShopoTam.ru, а деньги по первой покупке были разблокированы.


Остались вопросы? Пишите их в комментариях или отправляйте мне на электронную почту alexander@matrunich.com.

Дополнительная информация

Классификация банковских карт, процесс совершения оплаты, конвертация валют подробно описаны в статье Банковские карты и их использование в онлайн-покупках на сайте gSconto: Все об онлайн-покупках за рубежом.

Как купить хостинг у HostGator

Почему именно HostGator?

Я «подсел» на хостинг-провайдера HostGator, когда, в процессе выбора площадки для своего сайта matrunich.com, прочёл в журнале «Компьютерра» статью Сергея Голубицкого Eppure primavera!. Статья была хороша, и хостинг-провайдер HostGator также оказался хорошим: пользуюсь им с 2008 года. На этом же хостинге работают несколько других моих сайтов.


Внимание! Для регистрации хостинга HostGator вам потребуется банковская карта. По этому вопросу рекомендую ознакомится с моей статьёй Как платить банковской картой в Интернете безопасно


HostGator предоставляет клиенту неограниченное дисковое пространство, т.е. вы сможете загрузить на свой сайт столько содержимого, сколько душе угодно. Также вы получаете неограниченный пропускной канал, т.е. вы не будете ограничены в том, сколько у вашего сайта может быть посетителей, и сколько информации они могут с него скачать. Вы получаете бонус в виде 100 долларов на организацию рекламной кампании в Интернете через сервис Google Adwords (вы получите эти 100$, когда сами потратите на рекламу 25$). Вы сможете зарегистрировать любое количество корпоративных почтовых ящиков на своём сайте и предоставить их своим сотрудникам (director@firma.ru, vasya@firma.ru, zakaz@firma.ru). При выборе тарифного плана Baby или Business вы сможете на одном хостинге держать неограниченное количество сайтов (это удобно, если для раскрутки своего какого-то отдельного товара или для начала работы в новом регионе вы хотите сделать отдельный сайт: просто регистрируете себе новое доменное имя, а сайт разворачиваете на том же хостинге). Всего же в списке опций хостинга от HostGator Голубицкий насчитал 69 пунктов (я пересчитывать не стал).


Если вы ещё не выбрали доменное имя для своего сайта, ознакомьтесь со статьей о том, как выбрать и зарегистрировать доменное имя для фирменного сайта.


Регистрация сайта проходит на английском языке, а панель управления хостингом, в которой и будет происходить основная работа по настройке хостинга и почты – на русском.

Тарифные планы и стоимость

Посчитаем стоимость услуг. HostGator предлагает три тарифных плана. Самый бюджетный – Hatchling («Птенец»). Он позволяет обслуживать только один сайт. При первой оплате за один год вперёд вы отдадите чуть менее 67$ (5,56$ в месяц), при оплате за два года вперёд – 57$ (4,76$ в месяц), за три года вперёд – 47,5$ (3,96$ в месяц). Эти ценники указаны со скидкой 20%, которую HostGator даёт всем новым клиентам при первом платеже. При втором и последующих платежах суммы составят 83$ при ежегодной оплате, 71$ при оплате раз в два года и 59$ при оплате раз в три года.

Более продвинутый тариф – Baby. Его ключевое отличие от «Птенца» это возможность разместить на хостинге сразу несколько сайтов. Размер первого платежа (включая скидку 20%) при оплате за год, за два, за три: 95,5$, 86$ или 76$. Последующие платежи: 119$, 107$ или 95$.

Самый продвинутый тариф – Business. Для малого бизнеса, ведущего деятельность в России, он не слишком актуален: в него включён бесплатный для абонентов США телефонный номер 800. Также он включает выделенный IP-адрес для вашего сайта и возможность анонимных FTP-соединений. Опять же, для малого бизнеса вряд ли это пригодится на начальных этапах использования фирменного сайта. Ценник со скидкой: 143,5$, 134$ или 124$. Без скидки (т.е. второй и последующие платежи): 179$, 167$ или 155$.

Сравним стоимость тарифов со скидкой в таблице:

Период предоплаты Hatchling Baby Business
1 год $66,7 $95,2 $143,5
2 года $57,1 $85,9 $133,9
3 года $47,5 $76,3 $124,3

Я рекомендую выбирать между тарифами Hatchling и Baby. Если вы расчитываете, что вам может понадобиться несколько сайтов (для разных направлений бизнеса, персональный сайт для себя, блог для творческого коллеги или родственника), то выбирайте тариф Baby, а если вы точно уверены, что одного сайта вполне достаточно, то выбирайте Hatchling. Если ситуация изменится, то тариф можно поменять, обратившись по почте в службу поддержки HostGator (правда, на английском языке, но люди там понимающие, разберутся).

Доменное имя

Перед регистрацией хостинга вы должны выбрать доменное имя для своего сайта. Если вы хотите имя в международном домене (firma.com, firma.biz, firma.info, firma.org, firma.net, а также firma.co или firma.me), то его можно зарегистрировать вместе с регистрацией хостинга в HostGator. В этом случае за доменное имя за первый год вы заплатите (помимо хостинга) 13$, а потом будете платить по 15$. Если же вы хотите адрес сайта в российском домене (firma.ru или фирма.рф), то это имя нужно будет отдельно зарегистрировать у какого-нибудь российского регистратора. Например, регистратор 2domains.ru за регистрацию такого имени попросит 99 рублей в год.

Регистрация аккаунта в HostGator

Напомню, что регистрация аккаунта производится на английском языке, а вся дальнейшая работа с хостингом осуществляется в панели управления с русским интерфейсом.
Итак, регистрируемся:

  1. Переходим на сайт HostGator.
  2. Нажимаем на ссылку View Web Hosting Plans на большом жёлтом прямоугольнике.
  3. Под выбранным тарифом нажимаем ссылку Order Now.
    1. В блоке Please enter a domain («Пожалуйста, введите доменное имя») мы указываем, есть ли у нас уже доменное имя или мы хотим зарегистрировать его с помощью HostGator. Если вы уже зарегистрировали доменное имя, например, через регистратора 2domains.ru, то выберите вариант I already own this domain («Я уже владею этим доменом»). Если будете сейчас регистрировать, то выбирайте первый вариант Register a new domain («Зарегистрировать новый домен»).
    2. В поле Enter Your Domain Here («Укажите ваш домен») вы вписываете доменное имя. Если оно уже зарегистрировано, то вы вписываете его целиком (firma.ru, фирма.рф или пр.), если будете регистрировать, то указываете только второй уровень (firma), а домен первого уровня (.com, .info или др.) выбираете из выпадающего списка.
  4. В блоке Please confirm your hosting package information («Пожалуйста, подтвердите информацию о тарифе») выбираем тариф (Package Type) и период оплаты (Billing Cycle).
  5. В блоке Please choose your account information («Пожалуйста, укажите данные для учётной записи») мы вводим имя пользователя (Username) и пин-код (Security Pin). Имя пользователя не должно содержать заглавных букв, должно начинаться с (латинской) буквы, должно быть длиной от 2 до 8 символов, и не должно включать специальных или кириллических (русских) символов. Пин-код состоит только из цифр, его длина от 4 до 8 символов.
  6. Информация об оплате вводится в блок Please enter your billing information («Пожалуйста, укажите платёжные данные»).
    1. В колонке Billing Information указываются сведения о плательщике.
      • Email – почтовый ящик, который вы здесь укажите, будет ключом для доступа к хостингу, если вы потеряете пароль. Поэтому подумайте, это должен быть ящик, которым вы регулярно пользуетесь (если редко, то его могут и закрыть за неактивностью), и чтобы к нему не было доступа у посторонних лиц, которые бы захотели с его помощью перехватить доступ к вашему хостингу.
      • First Name, Last Name – имя и фамилия, укажите их так, как они у вас написаны на вашей банковской карте, с помощью который вы будете платить, или как в загранпаспорте. Иначе у сотрудников HostGator возникнут подозрения в машенничестве, и они начнут вас проверять. Пару раз я регистрировал хостинг на имя своих клиентов, но оплачивал с помощью своей банковской карты. В итоге, HostGator не активировал хостинг, до тех пор, пока они со мной не связались по телефону для подтверждения. Т.е. в информации о плательщике нужно было указать именно мои данные, а не клиента.
      • Company – Название вашей компании. Не принципиально. Если вы – индивидуальный предприниматель, можете снова указать свою фамилию.
      • Home Phone, Cell Phone – домашний (рабочий) и мобильный телефоны. Указывайте в международном формате, чтобы сотрудники HostGator могли бы до вас дозвониться в случае чего. Если вы живете в Пскове (код России – 7, код города 8112), и ваш рабочий телефон 888888, то в международном формате это будет выглядеть так: +78112888888. С мобильником аналогично. Кстати, не переживайте по поводу того, что вы оставляете номер своего мобильного в Интернете. Во-первых, это не абы какой сайт, а проверенный, во-вторых, даже если ваш мобильный телефон опубликован в Интернете на самом видном месте и доступен всем мошенникам, это не значит, что они смогут снять с вашего счёта деньги. Деньги с мобильного снимаются, только если сам абонент совершает исходящий вызов (а не получает входящий), отправляет смс (получать безболезненно можно хоть по сотне мошеннических сообщений в день, главное – не отвечать) или переходит по какой-то ссылке. Поэтому будьте внимательны, куда звоните или отправляете смс.
      • Address, Address 2 – почтовый адрес вашего предприятия. Предельная точность здесь не нужна, укажите, например, улицу и номер дома.
      • City – город.
      • State – штат. Пропустите это поле: оно исчезнет, когда вы выберите вместо США Россию.
      • Zip code – Почтовый индекс.
      • Country – Страна.
    2. В колонке Payment Information («Платёжная информация») выбирается способ оплаты. HostGator предлагает всего два варианта, оба из которых подразумевают у вас наличие банковской карты.
      • Credit Card – оплата с указанием реквизитов вашей банковской карты. Name on Card – имя, указанное на карте; Credit Card Number – номер банковской карты; Expiration Date – месяц и год истечения срока действия карты; CVV Code – трёхзначный код проверки подлинности карты, расположенный на её обороте.
      • PayPal – оплата с помощью платёжной системы PayPal, которая выступает посредником между покупателем и продавцом. Покупатель передает данные своей карты PayPal, и эти данные не передаются продавцу. Т.е. этот вариант более безопасен, если вы планируете регулярно совершать платежи в различных западных Интернет-магазинах и сервисах. Если же кроме HostGator вы не планируете совершать платежей за границей, то регистрировать отдельный аккаунт PayPal смысла нет, поскольку HostGator – это надёжный и известный продавец и с ним можно поделиться данными своей карты. Если вы выберите этот вариант, то в момент совершения покупки вы будете переведены на сайт платёжной системы PayPal, где нужно будет ввести свои имя и пароль от этой системы, а затем подтвердить совершение вашего платежа.
  7. В блоке Hosting Addons («Дополнения к хостингу») есть возможность указать, какие дополнительные опции вы хотите приобрести вместе с пакетом хостинга. Если вы хотите максимально бюджетный вариант сайта, то уберите все опции – без них можно обойтись.
  8. Блок Have a coupon code? («Есть код купона?») позволяет ввести купон для получения скидки. HostGator здесь обычно сам подставляет сезонный код со скидкой в 20%. Если с купоном всё правильно, то справа от поля должна быть надпись You have chosen our most valuable coupon! («Вы выбрали наш самый выгодный купон!»)
  9. В блоке Please review the order details below(«Пожалуйста, проверьте детали заказа») представлена итоговая информация по вашему заказу. Внизу блока поставьте галочку I have read and agree to the terms and conditions of use («Я прочёл и согласен с положениями и условиями использования»).
  10. Создаём нашу учётную запись, нажав на жёлтую ссылку Create Account.

После этого с адреса sales@hostgator.com вам придёт два письма. Первое – это подтверждение того, что ваш заказ получен, второе – с регистрационными данными вашей учётной записи.

Вход в панель управления

Вы сможете обнаружить свой сайт по вашему адресу спустя несколько часов (до 2-х суток) после регистрации: информация о том, что за таким-то доменным именем (firma.com) скрывается какой-то веб-сервер с определённым IP-адресом, разойдётся по Интернету не мгновенно. Если вы торопитесь, и вам не терпится увидеть панель управления, то во втором письме от HostGator вы найдёте несколько ссылок. Одна из них будет такого вида: http://192.168.100.54/cpanel – это адрес, по которому вы можете попасть в свою панель управления без использования доменного имени. Когда доменное имя заработает, вы сможете заходить в панель по адресу такого типа: http://firma.com/cpanel

Пройдя по этому адресу вы обнаружите форму под названием cPanel (сокращение от Control Panel) для ввода имени и пароля. Под формой расположена строка с перечислением языков, русский здесь скрывается за многоточием. После выбора русского форма отобразится на могучем и великом. Вводите имя и пароль, которые вы указывали при регистрации и входите. Теперь вы находитесь в панели управления вашего хостинга, откуда можно установить систему управления содержимым сайта, зарегистрировать корпоративные почтовые ящики и проводить все остальные работы.

Что такое грамматика графики ggplot2 (ч.1)

Начало. Продолжение в

Что такое ggplot2 и ggvis

ggplot2 – это расширение языка R, предназначенное для визуализации данных. Для создания графики ggplot2 использует систему абстрактных понятий: массив данных, визуальные средства, геометрические объекты, сопоставление переменных из массива визуальным средствам, статистическое преобразование переменных, системы координат и пр. Пакет ggplot2 является одним из самых популярных среди R-пользователей: в январе-мае 2013 года его скачали не менее 82 тысяч раз, что ставит его на третье место среди всех R-расширений (если учесть, что второе место занимает пакет digest, который используется для вычисления криптографических хеш-значений объектов в R, т.е. вряд ли он часто применяется пользователями напрямую, а гораздо чаще является зависимостью для других расширений, в т.ч. и для ggplot2, то ggplot2 переезжает на второе место). Функции ggplot2 берут на себя решение многих второстепенных вопросов (нужна ли легенда, где её разместить, какие границы выбрать для осей и пр.) и позволяют пользователю сконцентрироваться на самом важном. Для эффективного использования функционала ggplot2 пользователю необходимо понять принципы, заложенные в этом расширении.

Необходимо добавить несколько слов про ggvis: это совсем свежий R-пакет, реализующий идеи грамматики графики в интерактивном веб-ключе. Если ggplot2 вы будете использовать для создания статичных изображений, то ggvis предназначен для производства визуализаций аналогичного плана, но они будут интерактивными. В качестве бэкэнда визуализации ggvis использует vega, которая, в свою очередь, покоится на плечах D3.js, а для организации взаимодействия с пользователем ggvis использует R-расширение shiny.

Краткая предыстория создания ggplot2

ggplot2 начинался с того, что его будущий создатель Хэдли Викхэм прочитал книгу Лэланда ВилкинсонаThe Grammar of Graphics“. Среди прочего Вилкинсон – это тот товарищ, который в статистическом пакете SPSS поменял предыдущую систему визуализации на новую, основанную на оригинальном языке программирования графики GPL (не путать с названием лицензионного договора GNU General Public License!).

И в 2005 году Викхэм создаёт своё первое расширение для R – он реализует идеи, представленные в книге Вилкинсона, в R-коде пакета ggplot. Это был его первый пакет для R, и, как позже говорит сам Хэдли, написан он был не самым лучшим образом (с точки зрения позднего Хэдли 🙂 ). Сегодня Хэдли – автор уже не одного десятка разных пакетов, включая лидера из упомянутого выше рейтинга. В 2007 году Хэдли выпустил радикально переделанный ggplot и, чтобы не ломать скрипты и пакеты, написанные другими пользователями под синтаксис первой версии, он меняет название на ggplot2. В 2009 году Хэдли публикует книгу ggplot2: Elegant Graphics for Data Analysis. В 2012 году выходит очередная версия пакета под номером 0.9, одно из значительных улучшений в которой – это переделанная внутренняя структура, которая упрощает сторонним пользователям процесс подключения к разработке ggplot2. В начале 2014 года в git-репозитории ggplot2 насчитывается 21 разработчик. Хэдли – молодец, он смог грамотно перевести ggplot2 из формата личного проекта на рельсы разработки открытым сообществом. А это, я подозреваю, не просто! Нужно было наступить на горло своей песне, сократить время, затрачиваемое на чистую разработку и добавление функций, а сконцентрироваться на такой “скучной ерунде”, как написание документации, комментирование кода и т.д.

25 февраля 2014 года в почтовой группе, посвящённой ggplot2, Хэдли Викхэм официально объявил, что отныне работа над ggplot2 будет вестись в режиме поддержки: сами разработчики больше не будут добавлять в расширение новые функции, будут только вылавливать ошибки. Добавлением новых функций будут заниматься сами пользователи, которые могут дорабатывать ggplot2 и предлагать включать свои наработки в официальную версию. Соответственно, чтобы подчеркнуть переход ggplot2 на новый этап, версия расширения сменится на 1.0.0, а Хэдли ещё напишет популярным языком инструкцию о том, как сообщать об ошибках и предлагать свои наработки (чувствуете, опять работа с сообществом!).

Основы графической грамматики

В ggplot2 график является результатом взаимодействия ряда элементов:

  • Массив данных (data)
  • Схема соответствия переменных из массива визуальным средствам (aesthetic)
  • Геометрический объект (geom)
  • Статистическое преобразование (stat)
  • Координатная система (coord)
  • Ориентиры (guide)
  • Панели (facet)
  • Художественное оформление (theme)

Например, пользователь сообщает компьютеру, что хочет использовать массив данных про автомобили, переменная “скорость” будет выражена через положение по горизонтали, переменная “тормозной путь” через положение по вертикали, всё это нужно нарисовать с помощью геометрических объектов типа “точка”.

Вы спросите, а почему не заданы статистическое преобразование, координатная система, ориентиры и прочее. Все явно не указанные пользователем элементы графика берутся из значений по умолчанию. Например, если пользователь в качестве графического объекта указал тип “точки”, то по умолчанию статистических преобразований производиться не будет. А если он укажет тип “столбик”, то наблюдения в исходной переменной будут сгруппированы, а результатом применения статистики станет количество наблюдений в каждой группе.

На языке ggplot2 (да-да, я не оговорился: язык ggplot2 – это отдельный язык, а не R, но об этом позже) пример с точками будет выглядеть так:

ggplot(data = cars, aes(x = speed, y = dist)) + geom_point()

ggplot(data = cars, aes(x = speed, y = dist)) + geom_point()
Аналогичный результат мы получим, если укажем не геометрию (geom_point), а соответствующую ей по умолчанию статистику (stat_identity).

ggplot(data = cars, aes(x = speed, y = dist)) + stat_identity()

Пример со столбиками:

ggplot(data = cars, aes(x = speed)) + geom_bar()

ggplot(data = cars, aes(x = speed)) + geom_bar()
Умолчания распространяются и на другие элементы графика. Координатная система по умолчанию – декартова (coord_cartesian). Можем заменить на полярные координаты (coord_polar):

ggplot(data = cars, aes(x = speed)) + geom_bar() + coord_polar()

ggplot(data = cars, aes(x = speed)) + geom_bar() + coord_polar()
А что за дурацкий серый фон у графиков – часто звучит такой вопрос. Это тоже умолчание, но теперь уже в оформлении (theme_grey). Предполагается, что пользователь поместит график в публикацию, т.е. окружит его текстом. В обычной публикации цвет фона (бумаги) – белый, чернила – чёрные. “Средний” цвет страницы – серый. Если график сделать на белом фоне, то он будет резко выделяться на странице и вносить дисгармонию. А серый фон предназначен для уравновешивания цветового баланса страницы.

# Чёрно-белое оформление
ggplot(data = cars, aes(x = speed, y = dist)) + stat_identity() + theme_bw()

ggplot(data = cars, aes(x = speed, y = dist)) + stat_identity() + theme_bw()


Как нарисовать картограмму с помощью ggplot2 и ggmap


Продолжение в

Как зарегистрировать аккаунт в онлайн-хранилище Wuala

Обновление: В сентябре 2014 года обнаружилось, что Wuala более не предоставляет бесплатных пяти гигабайтов при регистрации. Вы можете воспользоваться приведённой ниже процедурой и получить дополнительный гигабайт места, но он будет доступен только после того, как вы оплатите подписку.

Wuala – это онлайн-хранилище файлов (или файловое хранилище в облаке, как модно сейчас говорить). Разработчик этого веб-сервиса – швейцарская фирма LaCie, занимающаяся производством носителей данных. Wuala позволяет хранить файлы в зашифрованном виде в Интернете, синхронизировать все или отдельные каталоги между несколькими компьютерами, осуществлять резервирование файлов, а также хранить и возвращаться к предыдущим версиям файлов. Помимо этого Wuala позволяет организовать работу с файлами и документами в рабочем коллективе или в семье и с друзьями: пользователь может предоставлять доступ к определённым папкам, хранящимся в Wuala, другим пользователям.

Шифрование файлов происходит на компьютере пользователя, и в Интернет файлы попадают уже зашифрованными. Т.е. теоретически доступ к содержимому хранилища пользователя отсутствует даже у сотрудников LaCie. Если пользователь забудет пароль, то восстановить доступ к файлам будет уже невозможно, т.к. только он может эти файлы расшифровать.

Установлена ли Java

Прежде чем начать пользоваться Wuala, нужно убедиться, что на вашем компьютере установлена т.н. виртуальная машина Java, т.к. именно в ней на компьютере пользователя работает программа Wuala. Может возникнуть вопрос, зачем такие сложности, ведь многие программы работают просто через веб-браузер. Ответ, видимо, скорее всего заключается в том, что Java потребовалась разработчикам Wuala, чтобы реализовать надёжное шифрование файлов. Также благодаря этому Wuala работает в любых операционных системах: от Windows до Linux.

Для того, чтобы проверить, установлена ли на вашем компьютере Java, пройдите по ссылке “Проверьте версию Java“. Если у вас возникли сложности, обратитесь к странице “Как вручную скачать и установить Java для компьютера под управлением Windows?

Устанавливаем Wuala

Программа Wuala работает на русском языке, но начало установки происходит на английском. Потерпите 🙂
Для перехода на сайт Wuala я вам даю специальную ссылку, в которой указан код приглашения от меня:
http://www.wuala.com/referral/73CJ4NPAKN6AMCCMF343. Смысл использования приглашения – это увеличение свободного места, которое предоставляет Wuala бесплатно. При регистрации без приглашения вы получаете 5 гигабайтов, по приглашению – 6 гигабайтов. К слову сказать, за вашу регистрацию Wuala и мне прибавит целый гигабайт :).

Страница для загрузки Wuala по приглашению

Страница для загрузки Wuala по приглашению

Итак переходим по указанной выше ссылке. Простите за такую “размыленную” фотографию, но с большим разрешением туда не загрузить 🙂 Нажмите на ссылку Download в первом пункте списка.
Сохранить установщик Wuala на диск

Сохранить установщик Wuala на диск

>
Windows спросит у вас, что сделать с файлом. С настройками моего браузера я смог только сохранить на диск, у вас, возможно, получится сразу запустить.
выбор языка установщика Wuala

выбор языка установщика Wuala

Первым делом после запуска установщика вам предложат выбрать язык. Русский – почти в самом низу списка. Далее следуйте инструкциям установщика
Выбор компонентов Wuala для установки

Выбор компонентов Wuala для установки

В разделе установки “Компоненты устанавливаемой программы” оставьте выбранными все варианты. Пункт “Wuala диск” позволит работать с файлами в онлайн-хранилище через стандартный Проводник Windows, т.е. диск Wuala станет частью компьютера. Пункт Windows Explorer Integration позволит проверять состояние синхронизации папок прямо в Проводнике.
Запрос на перезагрузку компьютера после установки Wuala

Запрос на перезагрузку компьютера после установки Wuala

На последнем шаге установки вам предложат перезагрузить компьютер. Перезагрузка нужна, чтобы заработала интеграция Wuala в Проводнике.

Также здесь есть два пункта: если вы предпочитаете запускать программы через ярлыки на рабочем столе, установите соответствующую галочку. Второй пункт – “Запускать Wuala при запуске системы”. Если вы серьёзно будете использовать Wuala в своей работе, рекомендую эту автозагрузку активировать.

Установка Wuala завершена, остался последний шаг – регистрация аккаунта.

Регистрация аккаунта в Wuala

Регистрация учётной записи Wuala

Регистрация учётной записи Wuala

После запуска программы Wuala нажмите ссылку “Создать новый аккаунт”. Регистрация обычная. Помните, что придуманный вами пароль будет являться ключом к документам, которые вы будете хранить в Wuala. Используйте в пароле и прописные, и строчные буквы, числа и специальные символы. Длина пароля – 8, 10, а лучше 12 символов.

В поле “Промо-код Wuala (дополнительно)” вставьте мой пригласительный код 73CJ4NPAKN6AMCCMF343: тогда и вы, и я получим по 1 гигабайту дополнительного свободного места к 5 гб начальным.

Регистрация и установка Wuala завершены. Можно приступать к работе.

Как подключить бесплатные sms-напоминания из календаря Google

Онлайн-календарь Google можт присылать на ваш телефон бесплатные sms-сообщения с напоминанием о предстоящем событии, с приглашением на мероприятие от вашего коллеги или с уведомлением о том, что ваш коллега согласился/отказался принять участие в вашем мероприятии.

Как зарегистрировать себе календарь Google

Если у вас есть почтовый ящик Gmail

Кстати, если у вас есть почтовый ящик @gmail.com, значит, вам не нужно отдельно регистрироваться в календаре, т.к. Google автоматически предоставляет все свои сервисы, включая календарь, пользователю почтовой системы Gmail. Поэтому при наличии почтового ящика @gmail.com просто зайдите на сайт http://calendar.google.com и введите свои имя и пароль от Gmail.

Какой адрес почты выбрать: сделать новый gmail или использовать старый не-gmail?

Форма регистрации аккаунта Google

Форма регистрации аккаунта Google

Если у вас ещё нет своего Google-календаря, вам нужно зарегистрироваться. На момент написания этой публикации (октябрь 2013) Google при регистрации в календаре предлагает создать новый почтовый ящик gmail, но также позволяет использовать в качестве имени пользователя адрес вашего не-gmail ящика (какое-то время назад Google требовал обязательно сделать gmail-ящик).

Если вы на 100% довольны своим настоящим не-gmail ящиком и не хотите попробовать ничего нового, то используйте в качестве имени адрес вашего текущего ящика. Если же вы открыты новому, хотите оценить самые свежие мировые разработки в области пользовательского интерфейса, то зарегистрируйте себе ящик на Gmail. Это будет вашим ключом и к календарю Google.

Пароль, день рождения и пол

Внимание, если вы используете свой старый не-gmail ящик, то в качестве пароля к Google-календарю не нужно и нельзя указывать пароль от вашего имеющегося ящика. Иначе Google будет знать пароль от вашей почты.

День рождения Google узнаёт у вас для того, чтобы быть уверенным, что вам уже больше 13 (кажется) лет, и по американским законам вы можете пользоваться этим сервисом.

Непонятно, зачем Google хочет знать ваш пол, но радует то, что можно выбрать третий вариант “Не указан” (а в английской версии – “Other”, т.е. “Другой”).

Зачему Google нужен ваш телефон и запасной эл.ящик?

Google хочет знать ваш телефон, чтобы в случае того, если вы забудете пароль или кто-то его выкрадет и сменит, вы сможете восстановить доступ к Google-аккаунту и календарю с помощью проверочного sms-сообщения на ваш мобильный. К тому же, Google-календарь будет отправлять sms-оповещения на этот номер. Так что смело оставляйте свой номер.

Запасной электроныый ящик также будет полезен, если у вас возникнут трудности с доступом к Google-аккаунту.

После нажатия кнопки “Далее” вам предложат подтвердить аккаунт с помощью sms или голосовым звонком


После нажатия кнопки “Далее” вам предложат подтвердить аккаунт с помощью sms или голосовым звонком

После нажатия кнопки “Далее” вам предложат подтвердить аккаунт с помощью sms или голосовым звонком
на ваш номер поступит входящий вызов с закрытого номера (все входящие в России бесплатно, если вы не в роуминге), и девушка-робот продиктует вам несколько чисел

на ваш номер поступит входящий вызов с закрытого номера (все входящие в России бесплатно, если вы не в роуминге), и девушка-робот продиктует вам несколько чисел

Если sms долго не доходит, можете повторить попытку, но теперь с голосовым вызовом – на ваш номер поступит входящий вызов с закрытого номера (все входящие в России бесплатно, если вы не в роуминге), и девушка-робот продиктует вам несколько чисел.
Google предлагает добавить фотографию к профилю в её социальной сети

Google предлагает добавить фотографию к профилю в её социальной сети

После успешной проверки Google предложит вам присоединиться к своей социальной сети Google Plus, но мы сюда не за этим пришли, жмём “Далее”.
Переход к календарю Google после регистрации

Переход к календарю Google после регистрации

На странице с позравлениями от Google жмём “Назад к сервису Календарь Google”.

Настройка календаря Google

Итак, Google-аккаунт у вас есть. При первом посещении Google календаря ваш браузер может предупредить, что Google хочет сохранить на вашем компьютере базу данных HTML5. Разрешите.

Краткое описание базовых возможностей календаря

Краткое описание базовых возможностей календаря

Нажимайте “Получайте напоминания о мероприятиях”.
Настройки оповещений календаря Google

Настройки оповещений календаря Google

У себя я отключил напоминания о событиях по электронной почте, т.к всё равно приходят напоминания на телефон. Вводите здесь свой номер телефона, получаете на него проверочный код, вводите код и телефон привязан к календарю. Далее нажимаете “Синхронизировать с мобильным устройством”, а затем “Начать использовать Календарь Google”.
Настройки календаря Google

Настройки календаря Google

Проверим настройки. В верхнем правом углу календаря расположен значок шестерёнки. Нажмите на него, а затем “Настройки”. Здесь важно проверить, чтобы были правильно указаны: страна, текущий часовой пояс (для Псковской области это GMT+4/Москва+0), начало недели. Также выбирете удобные для вас форматы даты и времени. Можно указать местоположение (“Псков” работает, как с райцентрами – не знаю) и включить отображение погоды. После проверки настроек нажмите “Сохранить”.

Календарь готов.

Выборка частей массивов data.frame с помощью [квадратных скобок] в R

Функция [ (квадратная скобка) в R служит для отбора отдельных элементов или наборов элементов из векторов, списков (list), матриц и массивов (data.frame). Разберём, как это делать в data.frame.

Возьмём для примера массив “amis” из пакета “boot”.

library(boot)
data(amis)

В массиве содержатся результаты эксперимента по оценке влияния предупредительных дорожных знаков на скорость автомобилей. Массив состоит из четырёх колонок. speed – скорость автомобиля, period – время замера скорости: до установки знака / сразу после установки / через время после установки, warning – тип участка, на котором проводился замер: тестовый или контрольный, pair – порядковый номер пары участков, на которой проведён замер. В массиве 8437 строк, т.е. замеров скоростей.

head(amis)
##   speed period warning pair
## 1    26      1       1    1
## 2    26      1       1    1
## 3    26      1       1    1
## 4    26      1       1    1
## 5    27      1       1    1
## 6    28      1       1    1

Отбор по условию

Отберём те строки, которые относятся к контрольной группе (warning==2).

x <- amis[amis$warning == 2, ]
head(x)
##     speed period warning pair
## 201    21      1       2    1
## 202    25      1       2    1
## 203    25      1       2    1
## 204    26      1       2    1
## 205    26      1       2    1
## 206    26      1       2    1

В данном случае мы применили функцию квадратной скобки к массиву amis. Выражение, указанное между открывающей квадратной скобкой и запятой, задаёт требования для отбора строк: такие строки, в которых переменная warning равна двум. Между запятой и закрывающей квадратной скобкой указывается, какие колонки мы хотим отобрать. Пустота в нашем случае - это указание на отбор всех колонок.

Добавим к предыдущему примеру отбор только колонки со скоростью.

x <- amis[amis$warning == 2, "speed"]
head(x)
## [1] 21 25 25 26 26 26

Наш двухмерный массив превратился в одномерный вектор. В фукнцию “[” заложена такая логика, что если после отбора измерение становится лишним, то оно удаляется. Иногда это полезно, иногда нет. Чтобы оставить два измерения, необходимо добавить аргумент drop=FALSE.

x <- amis[amis$warning == 2, "speed", drop = FALSE]
head(x)
##     speed
## 201    21
## 202    25
## 203    25
## 204    26
## 205    26
## 206    26

Отбор по номерам строк и колонок

Снова отберём колонку со скоростью, но указываем колонку не по имени, а по её порядковому номеру (она в массиве первая).

x <- amis[amis$warning == 2, 1, drop = FALSE]
head(x)
##     speed
## 201    21
## 202    25
## 203    25
## 204    26
## 205    26
## 206    26

Номера можно указывать и при отборе строк. Отберём строки 7, 9, 16 и 18 из колонок №1, 2.

x <- amis[c(7, 9, 16, 18), 1:2]
head(x)
##    speed period
## 7     28      1
## 9     28      1
## 16    29      1
## 18    30      1

Объединение условий для отбора

Критерии для отбора можно комбинировать через операторы. Отберём строки из тестовой группы (warnning=1) и из временного периода до установки знака (period=1). Объединение происходит через логический оператор & (логическое И).

x <- amis[amis$warning == 1 & amis$period == 1, ]
head(x)
##   speed period warning pair
## 1    26      1       1    1
## 2    26      1       1    1
## 3    26      1       1    1
## 4    26      1       1    1
## 5    27      1       1    1
## 6    28      1       1    1

Отберём наблюдения из контрольной группы (warning=2), относящиеся к временным периодам сразу после установки знака (period=2) и через время после установки знака (period-3). Возможно несколько вариантов.

x <- amis[amis$warning == 2 & (amis$period == 2 | amis$period == 3), ]
x1 <- amis[amis$warning == 2 & amis$period > 1, ]
x2 <- amis[amis$warning == 2 & amis$period %in% 2:3, ]

В x мы использовали оператор “логическое ИЛИ” и скобки, чтобы установить нужный нам порядок вычисления условий.

В x2 мы использовали функцию %in%, которая проверяет, равен ли первый аргумент (amis$period) какому-либо из значений второго арумента (2 или 3).

Стоит ли рекламироваться на Русском радио в Пскове

Дню работника рекламы посвящается

Реклама! Реклама! Реклама на радио дёшево!

Моей супруге, занимающейся продажами детской одежды через Интернет-магазин Дети города, поступило коммерческое предложение порекламироваться в Пскове на волне 103.4FM “Русского радио”. В предложении говорилось о рекламе во время прогноза погоды: перед началом передачи “озвучивается” спонсор, а после передачи – ролик до 30 секунд. Всё это счастье каждый день по 12 раз в течение месяца. Стоит 30 тысяч рублей. Для сомневающихся рекламодателей был также приведён эффектный слайд с распределением показателя Daily Reach по FM-станциям Пскова, демонстрирующий неоспоримое лидерство “Русского” по сравнению с конкурентами.

Распределение слушателей FM-радиостанций  в возрасте 35-49. ©Русское радио.

Распределение слушателей FM-радиостанций в возрасте 35-49. ©Русское радио.

Сколько в граммах точно?

Слайд на жену не подействовал, и менеджеру по рекламе и PR “Русского радио” в Пскове был отправлен вопрос о том, сколько матерей в Пскове смогут услышать эту рекламу возрастом до 35 лет с детьми до 6 лет, имеющих опыт совершения покупок в Интернет-магазинах. Конечно, вопрос непростой. Мы ж и не надеялись на точный ответ, т.к. чтобы ответить на этот вопрос, нужно провести в Пскове исследование, среди прочих вопросов которого были бы пункты про возраст респондента, пол респондента, наличие и возраст детей, опыт совершения покупок в Интернете. Опросы такие в нашей стране проводятся, но в Пскове о таких слышать не приходилось.

Ответ из “Русское радио Псков” был суров: “В данной социально-возрастной категории среди родителей, обладающих покупательной способностью, доля стремится к 100%. Среди лиц, не обладающих покупательной способностью, слушатели Русского Радио не встречаются.

Я предполагаю, что у псковского “Русского радио” нет данных о слушателях, включающих сведения об их опыте Интернет-шоппинга, а менеджер по рекламе и PR не решился это признать и просто сказал, что, мол, тех, кто примерно вам нужен, среди наших слушателей очень много. Суровая же, мозгодробительная формулировка должна была отбить у потенциального рекламодателя желание задавать дальнейшие вопросы.

Выгодно ли рекламироваться Интернет-магазину на “Русском радио” в Пскове?

Попробуем сами найти примерный ответ на поставленный вопрос и оценить стоимость радиоконтакта с одним потенциальным клиентом. Т.е. сколько будет стоить один радиоконтакт с псковской мамочкой до 35 лет, у которой есть хотя бы один ребёнок до 6 лет, и которая хотя бы раз что-нибудь покупала через Интернет. Или проще про стоимость – дешевле это или дороже, чем дать контекстную рекламу Google Adwords или Директ.Яндекс.

Ложь, наглая ложь и статистика

Сначала вернёмся к слайду (см.картинку выше). Столбик Русского Радио протянулся вдоль всей вертикальной оси, т.е. как-будто у Русского максимально возможное значение. Высотой он 16,8%, и он значительно обгоняет ближайшего конкурента – Дорожное радио, у которого “всего” 15,3%. Хотя это визуальный эффект: если мы вертикальную ось (доля населения) дорисуем до 100%, то картинка немножко изменится.

Сколько людей в возрасте 35-49 лет слушают радио. Данные: Русское Радио Псков

Сколько людей в возрасте 35-49 лет слушают радио. Данные: Русское Радио Псков

Лидерство Русского Радио сохранилось, но оно не такое значимое, и теперь стало видно, что радио охватывает каждого 5-6 человека.

Также давайте обратим внимание на фразу на слайде: “Русское радио – самая популярная станция среди радиослушателей среднего возраста”. К сожалению, информация на слайде этого не подтверждает. Как я понимаю из слайда, подразумевается, что в Пскове был проведён опрос, по результатам которого оказалось, что 16,8% респондентов в возрасте 35-49 лет слушали Русское радио, а 15,3% – Дорожное. На слайде не сказано, сколько же человек было опрошено. Предположим, что было опрошено 1200 респондентов – это самая большая выборка, по которой опрашивался Псков Институтом регионального развития (ИРР). А ИРР – это организация бюджетная, губернатор денег на опросы не жалеет, вряд ли её кто-нибудь переплюнул.

Итак, предполагаем самый оптимистичный случай: было опрошено 1200 респондентов. Прикинем, сколько из них в возрасте 35-49 лет. По каким-то из не самых старых статистических данных в Псковской области 472514 человек городского населения. Из них 97634 – в нужном нам возрасте. Это 20,7%. Если выборка была пропорциональная по возрасту, то было опрошено 1200*20,7%=248 человек в возрасте от 35 до 49 лет.

Теперь проверим гипотезу, что доля “Русского радио” больше доли “Дорожного” не только в выборке, но и в целом по городу. Для этого воспользуемся статистическим тестом равенства долей в двух выборках. Результаты теста говорят, что с 95%-ной уверенностью можно утверждать, что реальная разница между долями “Русского” и “Дорожного” лежит в интервале от -5% до 8%, т.е. второе радио может отставать от первого до 5%, но может и обгонять его до 8%. Аналогичная ситуация и с “обгоном” “Европы+”. И только в случае с “DFM” и далее, мы можем говорить с 95%-ной уверенностью, что “Русское” их опережает по количеству слушателей данного возраста.

Сколько же мам в Пскове слушает “Русское радио” и совершает покупки в Интернете?

Сколько женщин 20-35 лет слушают “Русское радио” в Пскове?

Сколько женщин до 35 лет слушает радио? В письме от “Русского радио” была информация только о категории людей от 35 до 49 лет – 16,8%. Вполне очевидно, что эта доля – максимальная из всех, что есть в статистике “Русского”. Не стали бы вы рекламировать своё радио долей 16,8%, когда у вас есть ещё и 25%? Значит, слушателей и в категории до 35 лет не больше 16,8%.

Как Daily Reach превратить в Monthly Reach

Здесь всплывает ещё один вопрос к псковской рекламной службе “Русского радио”. Менеджер по рекламе предложил купить эфир на целый месяц, а количество слушателей приводит ежедневное, а не ежемесячное. Видимо, нет у менеджера информации о Monthly Reach, только Daily Reach. Сделаем приблизительную оценку. В Воронеже, например, средняя ежедневная аудитория “Русского радио” в 2012 году составляла 53,71 тысяч слушателей, а ежемесячная 194,75 тысяч. Т.е. ежемесячная аудитория в 3,6 раза больше ежедневной. Применив этот коэффициент на псковское радио, получим ежемесячную аудиторию 16,8%*3,6=60,7%.

Вернёмся к нашим матерям. По тем же облстатистичным данным, в Пскове примерно 20800 женщин в возрасте от 20 до 35 лет. Ежемесячное количество слушателей “Русского радио” этой категории 20800*60,7%=12600 человек.

Сколько мам среди российских женщин? Ответ знает американская разведка!

Сколько из этих двенадцати тысяч женщин являются мамами? По данным “Всемирной книги фактов ЦРУ” в России женщина за жизнь в среднем рожает одного ребёнка или вообще не рожает. Т.е. среди этих 12600 женщин в одном крайнем случае нет ни одной матери, а в другом крайнем случае – все из них матери. Истина где-то между этими полюсами. Можно ткнуть пальцем в середину, и получится оценка в 6300 матерей.

Есть ещё один вариант оценить количество матерей – через количество детей. По тем же самым облстатичным данным, в Пскове примерно 7% населения – это дети не старше 6 лет, т.е. 7000 человек. По данным Переписи 2002 года в Псковской области на одну семью с детьми приходится 1,3 ребёнка до 18 лет. Это превращает 7000 детей в 5400 семей/матерей. Русское радио из этих 5400 матерей ежемесячно слушают не более 60,7%, т.е. 3300 человек.

Мы получили две оценки: 3300 и 6300 матерей. Оценка 6300 основана на количесте женщин 20-35 лет, а 3300 – на количестве детей не старше 6 лет. Для Интернет-магазина, продающего одежду для детей не старше 6 лет, важнее оценка, основанная на детях, а не на матерях. Матери могут быть и старше 35 лет, главное – чтобы ребёночек был. Итак, в качестве оценки количества матерей в Пскове, имеющих хотя бы одного ребенка до 6 лет и слушающих “Русское радио” хотя бы несколько минут в месяц, мы возьмём число 3300.

Когда вы последний раз затаривались в Amazon?

Остаётся последний вопрос: сколько матерей из этих 3300 когда-нибудь совершали покупки в Интернете? По данным исследования ВЦИОМ в 2012 году опыт покупок в Интернете был у 29% россиян. При переносе на нашу группу мамочек из 3300 выходит, что имеют опыт покупки в Интернете не более 950 псковских матерей.

Чего же стоит контакт с прогрессивной псковской мамочкой?

Итак, мы пришли к выводу, что если купить у “Русского радио” в Пскове рекламы на целый месяц, то её услышат не более 950 женщин, у которых есть ребёнок до 6 лет и они имеют опыт совершения покупок в Интернете.

И какова же стоимость контакта с одной мамочкой через радио? 30000 рублей / 950 матерей = 32 руб. Давайте сравним с рекламой по другим каналам.

Объявления “ВКонтакте”: если отобрать пользователей женского пола в Пскове с возрастом 20-35 лет и с категорией интересов “Дом и семья”, то ВК предлагает аудиторию 1297 человек. За каждый переход пользователя из такой выборки вы заплатите 22.61-28.61 рубля. Здесь, конечно, нет гарантии, что у пользователя есть ребёнок, но плата идёт за клики.
Контекстная реклама “Яндекс”: по данным сервиса “Подбор слов. Яндекс” в Пскове за прошлый месяц через Яндекс было сделано 289 запросов “детская одежда интернет магазин”. Если создать контекстное объявление, которое будет показываться жителям Пскова, задавшим в Яндексе подобный запрос, то один переход по такому объявлению будет стоить 42-49 рублей. В рекламной сети Google Adwords будет, наверно, немного дешевле.

Куда же податься рекламодателю

Итоги следующие. Если сразу платите тридцать тысяч рублей на радио, то есть шансы, что в течение месяца вашу рекламу услышат около тысячи целевых мамочек. Этим мамочкам останется вспомнить о рекламируемом магазине, когда они окажутся в Интернете, и найти его. Плюс к этому про ваш бизнес услышит до шестидесяти тысяч псковичей разного возраста и пола. Возможно, они повлияют на других целевых мамочек.

Если дать рекламу в сети “ВК”, то клик по вашей рекламе и переход на ваш сайт одной женщины из Пскова, которая примерно попадает в вашу целевую группу, будет стоить около 25 рублей. Минимальный платёж – 100 рублей.

Если дать рекламу в рекламной сети “Яндекса”, то клик по вашей рекламе и переход на ваш сайт пользователя из Пскова, который сделал в поисковике запрос “детская одежда интернет магазин” будет стоить около 45 рублей. Минимальный платёж – 300 рублей.

Информационная безопасность от ведущего Интернет-провайдера Пскова

Спрашиваю в одном офисе, почему у вас такое странное название wifi-сети: “upl2….”. Так настроили специалисты провайдера “Псковлайн”. А дайте пароль к сети – протягивают учётную карточку с настройками vpn-соединения. Ключ к wifi – пароль vpn-пользователя. А это странное имя сети – имя vpn-пользователя.

Как же так? Выходит, что любой, кому предоставили ключ к wifi-сети, знает теперь и учётные данные для vpn-соединения.

Давайте поменяем! Оказалось, что пароль пользователя “admin” на wifi-роутере по адресу 192.168.0.1 не установлен. В итоге, на глазах изумленной публики из соседнего помещения, в котором физически располагается устройство wifi-роутера, дистанционно поменяли имя wifi-соединения, ключ к нему, а также установили пароль администратора роутера.

А в округе доступны ещё как минимум две wifi-сети, название которых начинаются с upl/pl…

И пару слов о пароле vpn-соединения, предоставленном провайдером. Состоит из повторяющихся цифр и одной буквы, которая тоже повторяется два раза, оба – в нижнем регистре. Длина, кажется, не больше 8 символов.

Рисуем картограмму в R средствами ggplot2

Что такое картограмма

Плотность населения районов Псковской области. Картограмма сделана в ggplot2

Плотность населения районов Псковской области. Картограмма сделана в ggplot2


Картограмма – это график, демонстрирующий распределение какого-либо статистического показателя по географическим единицам. На картограмме границы географических единиц (континенты, страны, районы, кварталы) обозначены линиями, а площадь этих единиц залита разными цветами. Цвет показывает категорию или интенсивность показателя. Мы построим картограмму плотности населения районов Псковской области. Чем выше плотность населения района, тем более интесивным цветом он закрашен.

Общая схема создания картограммы с помощью пакета ggplot2 в среде R

Для построения картограммы необходимо осуществить такие шаги:

  1. Получить массив с географическими (пространственными) данными о границах районов.
  2. Получить массив с теми статистическими данными, распределение которых мы хотим отобразить на картограмме (плотность населения в нашем случае).
  3. Связать пространственные и статистические данные, чтобы программа знала, к какому куску плоскости относится данная статистика.
  4. Построить картограмму.

Получаем данные об административных границах районов Псковской области

Что такое [векторные] пространственные данные об административных границах? Это массив данных, в котором хранится информация о координатах точек, составляющих линию границы каждого района. Самый законно-бесплатный способ получить такой массив – это взять его из базы данных OpenStreetMap. В ней хранятся данные с административными границами нашего дорого Отечества (и всех других стран), федеральных округов, субъектов Федерации. По Псковской области также есть информация о границах районов и о границах некоторых волостей.

Спасибо активистам сообщества gis-lab.info, которые на регулярной основе “выдергивают” из всего громадного массива данных OpenStreetMap актуальные куски для стран, ранее входивших в СССР, и преобразуют их в разные форматы. Нам пригодятся данные по административным границам муниципальных районов России, доступные на сайте gis-lab.info в формате ESRI Shapefile. К сожалению, самая последняя версия этого файла не содержит информацию о границе Струго-Красненского района. Видимо, надо что-то исправлять в OpenStreetMap. Поэтому я в архиве нашёл версию данных от 1 января 2012 года, в которых граница ещё присутствует 🙂 Воспользуемся этим файлом.

# Скачиваем файл
download.file('http://gis-lab.info/data/yav/adm/20120101/adm6_district.7z', 'adm6_district.7z')

# Разархивируем. Системная команда для Linux.
# В Windows, наверно, следует прописать путь к архиватору 7z.
system('7z x adm6_district.7z')

# Читаем shape-файл.
library(rgdal)
# Первый параметр у readOGR - имя файла. Второй - название слоя.
shapes <- readOGR('adm6_district.shp', 'adm6_district')

Полученный массив содержит информацию по границам муниципальных районов всей России. Оставим только Псковскую область.

shapes <- shapes[shapes$ADM4_NAME=='Псковская область', ]

Как выяснилось при создании картограммы в ggplot2, функция geom_map не рисует дырки в полигонах, по крайней мере, я не нашёл способ это сделать. Поэтому выходит, что Псков и Великие Луки лежат на территории Псковского и Великолукского районов. И ещё один нюанс, что по умолчанию полигоны заливаются в той последовательности, в которой идут их идентификаторы. Скорее всего, есть более элегантный способ решить этот вопрос, а я пока иду "грязным" путём, заменив идентификаторы указанных городов в shape-массиве:

# При экспорте из OSM объекты получают идентификаторы со знаком "минус".
# Поэтому объект с любым положительным идентификатором будет отрисовываться после всех остальных.
shapes$OSM_ID[shapes$NAME=="Великие Луки"] <- 2
shapes$OSM_ID[shapes$NAME=="Псков"] <- 1

Функции из пакета ggplot2 любят (требуют) работать с данными в формате data.frame. Поэтому преобразуем массив класса 'sp' в массив класса data.frame:

# Преобразуем sp-объект в обычный data.frame, подходящий для ggplot2.
# Параметр region указывает, по какому полю группировать точки.
# В нашем случае каждый район обладает уникальным идентификатором OSM_ID из OpenStreetMap
shapesm <- fortify(shapes, region='OSM_ID')

Если вы захотите каждый район отметить своим названием, то функция geom_text из ggplot2 захочет, чтобы вы указали ей координаты тех мест, где ей нужно будет разместить текстовые строки с названиями. В общем случае, нам сгодятся и координаты центров районов, т.е. центроидов.

# получаем координаты центроида каждого района,
# чтобы разместить названия районов
# пользуемся функцией centroid.polygon из пакета maps
# вызываем её явно из пакета, т.е. с использованием :::, т.к.
# она внутренняя и не доступна в обычном пространстве имён
lp <- ddply(shapesm, .(id), maps:::centroid.polygon)
names(lp) <- c('OSM_ID', 'lpx', 'lpy')

Далее нам придётся бороться с ограничениями этого метода: метки Пскова и Лук накладываются на метки Псковского и Великолукского районов.

# Раздвигаем метки по вертикали.
# Координаты для сдвига получены опытным путём.
lp$lpy[lp$OSM_ID==-956303] <- 58
lp$lpy[lp$OSM_ID==1] <- 57.7
lp$lpy[lp$OSM_ID==-957758] <- 56.52
lp$lpy[lp$OSM_ID==2] <- 56.25

Итак, исходные пространственные данные для построения картограммы готовы. Осталось получить фактическую информацию о плотности населения.

Получаем данные о плотности населения районов Псковской области

Данные о населении районов и об их площади я взял из Википедии и сохранил в csv-файл.

# Читаем массив с данными по площади и населению районов
data <- read.table('/home/sas/1irr/data/regions_square_pop.csv', header=T, sep=';', dec='.')

# Считаем плотность
data$density <- data$population / data$square

# объединяем данные по плотности с координатами центроидов
data <- join(data, lp)

Дело остаётся за малым: построить график.

Строим график в ggplot2

Поскольку в изначальной задаче мне нужно было рисовать сразу пачку графиков, я определил функцию, в которой указал все общие корректировки внешнего вида графика.

# Функция по "прилизываю" графика.
polish_map <- function(x) {
  # Добавляем названия районов
  x <- x + geom_text(family='Courier', size=4, fontface='bold')
  # Удаляем линии сетки (промежуточные и основные)
  x <- x + theme(panel.grid.minor=element_blank(), panel.grid.major=element_blank())
  # Удаляем подписи значений на осях
  x <- x + scale_y_continuous(breaks=NULL) + scale_x_continuous(breaks=NULL)
  # Удаляем названия осей
  x <- x + ylab('') + xlab('')
  # Передвигаем легенду в верхний левый угол.
  # У Псковской области там как раз пустое пространство.
  x <- x + theme(legend.position=c(1, 1), legend.justification=c(1,1)
  # Можно залить фон графика белым: добавьте след.строку в параметры theme выше.
 # panel.background=element_rect(fill='white', colour='white')
               )
  return(x)
}

Рисуем график.

# Создаём переменную класса ggplot
# В ней используется массив data, 
# параметры x и y - это имена колонок из data, которые используются для определения
# горизонтальной и вертикальной позиции,
# map_id - по какой колонке происходит сопоставление данных и геообъектов.
# label - откуда брать текст.
m <- ggplot(data, aes(x=lpx, y=lpy, map_id = OSM_ID, label=shortname))

# Указываем, что в нашем графике данные будут визуализироваться в виде карты.
# При этом цвет заливки регионов карты определяется содержанием колонки density.
# Параметр colour указывает на то, что обрамление регионов должно присутствовать, но не 
# сопоставлено какой-либо переменной.
# Параметр map указывает, где хранятся данные о карте.
m <- m + geom_map(aes(fill=density), colour=1, map=shapesm) 

# Функция expand_limits() задаёт диапазон данных по осям. 
# Без этой функции края области будут обрезаны.
m <- m + expand_limits(x = shapesm$long, y = shapesm$lat)

# В параметре name задаётся название легенды. В нашем случае
# мы дополнительно используем функцию expression, чтобы добавить
# верхний индекс.
# В параметре trans задаём способ трансформации исходных данных - 
# поскольку у нас два города с высокой плотностью, а остальные - с 
# очень низкой, то применяем логарифмичекое преобразование, чтобы 
# сгладить разрыв.
# В labels указываем функцию round(), которая укругляет значения,
# отображаемые в легенде.
m <- m + scale_fill_gradient2(name = expression(paste("Человек/км"^2)), trans='log', labels=round)
m <- polish_map(m)
m <- m + ggtitle('Плотность населения районов\nПсковской области')
ggsave('density.png')

Page 2 of 4

Powered by WordPress & Theme by Anders Norén