Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики. У. Н. Венэбльз
Чтение книги онлайн.

Читать онлайн книгу Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики - У. Н. Венэбльз страница 10

СКАЧАТЬ tas sa nt wa vic qld nsw nsw wa sa act nsw vic vic act

      Levels: act nsw nt qld sa tas vic wa

      Чтобы выяснить уровни фактора можно использовать функцию level ():

      > levels (statef)

      [1] «act» «nsw» «nt» «qld» «sa» «tas» «vic» «wa»

      4.2. Функция tapply () и массивы с переменной длиной строк

      Чтобы продолжить предыдущий пример, предположим, что у нас есть доходы от каждого налогоплательщика в другом векторе (в подходящих крупных денежных единицах):

      > incomes <– c (60, 49, 40, 61, 64, 60, 59, 54, 62, 69, 70, 42, 56,

      61, 61, 61, 58, 51, 48, 65, 49, 49, 41, 48, 52, 46,

      59, 46, 58, 43)

      Чтобы вычислить средний доход в выборке по каждому штату используем теперь специальную функцию tapply ():

      > incmeans <– tapply (incomes, statef, mean)

      дающей вектор средних с компонентами, маркированными уровнями:

      Функция tapply () используется для применения здесь функции mean () к каждой группе компонентов первого параметра, здесь доходов, определенные уровнями второго компонента, здесь statef, как будто они были отдельными векторными структурами. Результат – структура той же самой длины как атрибут уровней фактора, содержащего результаты.

      Обратите внимание на то, что tapply () также работает в этом случае, когда его второй параметр не фактор, например, «tapply (incomes, state)», и это верно для довольно многих других функций, так как при необходимости параметры преобразованы в факторы (используется as. factor ()).

      Читатель должен консультироваться с документом справки для большего количества деталей.

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

      > stderr <– function (x) sqrt (var (x) /length (x))

      Написание функций рассмотрим позже в Главе 10 [Написание собственных функций], и в этом случае было ненужным, поскольку R также имеет встроенную функцию sd (). После этого присвоения стандартные ошибки вычислены:

      > incster <– tapply (incomes, statef, stdError)

      и затем вычисленные величины:

      > incster

      В качестве примера можно вычислить обычные 95%-ые доверительные границы для средних доходов штата. Для этого можно использовать tapply () еще раз с функцией length (), чтобы найти размеры выборки, и функцию qt (), чтобы найти процентные точки соответствующих t-распределений. Также можно рассмотреть средства R для t-тестов.

      Также можно применить функцию tapply () к более сложной индексация вектора на несколько категорий. Например, можно разделить налоговые счета как по штатам, так и по полу. Однако в этом простом примере (только один фактор) то, что происходит, можно представить следующим образом. Значение в векторе собрано в группы, соответствующие различным позициям в факторе. Затем функция применяется к каждой из этих групп отдельно. Результат – это вектор значений функции, маркированных согласно levels фактора.

СКАЧАТЬ