Skip to main content
LibreTexts - Ukrayinska

2.2: Використання R для організації та маніпулювання даними

  • Page ID
    17659
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Дані в таблиці\(\PageIndex{1}\) повинні нагадувати вам про кадр даних, спосіб організації даних у R, який ми ввели в главі 1. Тут ми дізнаємося, як створити фрейм даних, який містить дані в таблиці,\(\PageIndex{1}\) і дізнаємося, як ми можемо зробити нас з фрейму даних.

    Створення кадру даних

    Щоб створити фрейм даних, ми починаємо з створення векторів для кожної зі змінних. Зауважте, що букви є константою в R, яка містить 26 малих літер латинського алфавіту: тут ми використовуємо лише перші шість літер для ідентифікаторів мішка.

    bag_id = літери [1:6]
    рік = c (2006, 2006, 2000, 2000, 1994, 1994)
    вага = c (1,74, 1,74, 0,80, 0,80, 10,0, 10,0)
    тип = c («арахіс», «арахіс», «звичайний», «звичайний», «звичайний», «звичайний»)
    число_жовтий = c (2, 3, 1, 5, 56, 63
    відсотки) t_red = c (27,8, 4,35, 22,7, 20,8, 23.0, 21.9)
    всього = c (18, 23, 22, 24, 331, 333)
    ранг = c («шостий», «четвертий», «п'ятий», «третій», «другий», «перший»)

    Для створення фрейму даних ми використовуємо функцію Data.frame () R, передаючи їй імена наших векторів, кожен з яких повинен бути однакової довжини. У цій функції є можливість розглядати змінні, значення яких є символьними рядками, як факторами - інша назва категоріальної змінної - за допомогою аргументу StringsAsFactors = TRUE. Оскільки значення за замовчуванням для цього аргументу залежить від вашої версії R, корисно зробити ваш вибір явним, включивши його у ваш код, як ми робимо тут.

    mm_data = data.frame (bag_id, рік, вага, тип, число_жовтий, процент_червоний, загальний, ранг, рядки як фактори = TRUE)
    mm_data

    bag_id рік вага тип номер_жовтий процент_червоний загальний ранг

    1 в 2006 1.74 арахіс 2 27.80 18 шостий

    2 б 2006 1,74 арахіс 3 4,35 23 четвертий

    3 см 2000 0,80 рівнина 1 22.70 22 п'ята

    4 д 2000 0,80 рівнина 5 20.80 24 третя

    5 е 1994 10.00 рівнина 56 23.00 331 секунда

    6 з 1994 10.00 рівнина 63 21.90 333 перший

    Якщо ми вивчимо структуру цього набору даних за допомогою функції R str (), ми побачимо, що bag_id, тип та ранг - це фактори та рік, вага, number_yellow, percent_red та total arenumerical змінні, призначення, які узгоджуються з нашим попереднім аналізом даних.

    str (мм_даних)

    'data.frame': 6 об. з 8 змінних:

    $ bag_id: Коефіцієнт ж/6 рівнів «a», «b», «c», «d»,..: 1 2 3 4 5 6

    $ Рік: Номер 2006 2000 2000 1994...

    Вага: кількість 1,74 1,74 0,8 0,8 10 10

    Тип $: Фактор з 2 рівнями «арахіс», «звичайний»: 1 1 2 2 2 2

    $ номер_жовтий: нум 2 3 1 5 56 63

    $ процент_червоний: кількість 27.8 4,35 22.7 20,8 23 21.9

    $ Всього: 18 23 22 24 331 333

    $ ранг: Фактор ж/6 рівнів «п'ятий», «перший»,..: 5 3 1 6 4 2

    Нарешті, ми можемо використовувати функцію як.factor (), щоб R розглядати числову змінну як категоричну змінну, як ми робимо тут протягом року. Чому ми можемо захотіти зробити це - тема, до якого ми повернемося в наступних розділах.

    mm_year_as_factor = data.frame (bag_id, як.фактор (рік), процент_червоний, загальний)

    str (мм_рік_я_фактор)

    'data.frame': 6 об. з 4 змінних:

    $ bag_id: Коефіцієнт ж/6 рівнів «a», «b», «c», «d»,..: 1 2 3 4 5 6

    $ як.фактор.рік.: Фактор з 3 рівнями «1994", "2000",..: 3 3 2 2 1

    $ процент_червоний: кількість 27.8 4,35 22.7 20,8 23 21.9

    $ Всього: 18 23 22 24 331 33

    Створення нового кадру даних шляхом підмноження існуючого кадру даних

    У розділі 1.2 ми дізналися, як отримати окремі рядки або стовпці з кадру даних і призначити їх новому об'єкту. Тут ми дізнаємося, як використовувати більш гнучку функцію підмножини () R для виконання того ж самого. Тут, наприклад, ми отримуємо тільки дані для простих M&Ms.

    plain_mm = підмножина (mm_data, тип == «звичайний»)

    рівнин_мм

    bag_id рік вага тип номер_жовтий процент_червоний загальний ранг

    3 х 2000 0,8 рівнина 1 22,7 22 п'ята

    4 д 2000 0,8 рівнина 5 20,8 24 третя

    5 е 1994 10.0 рівнина 56 23,0 331 секунди

    6 з 1994 10.0 рівнина 63 21,9 333 перший

    Зауважте, що type == «plain» використовує реляційний оператор для вибору лише тих рядків, у яких тип змінної має значення plain. Ось список реляційних операторів:

    Таблиця\(\PageIndex{2}\). Реляційні оператори в R.
    оператор використання значення
    < x < у x менше, ніж у
    > х > у x більше, ніж у
    <= х <= у x менше або дорівнює y
    >= х>= у x більше або дорівнює y
    == х == у x точно дорівнює y
    ! = х! = у x не дорівнює y

    Ми можемо рядити змінні разом за допомогою логічного & оператора.

    mm_plain10 = підмножина (мм_даних, (вага == 10,0 & тип == «звичайний»))

    мм_рівнин10

    bag_id рік вага тип номер_жовтий процент_червоний загальний ранг

    5 е 1994 10 рівнина 56 23,0 331 секунди

    6 з 1994 10 рівнина 63 21,9 333 перший

    Ми також можемо звузити кількість змінних, що повертаються, використовуючи аргумент subset () функції select. У цьому прикладі ми виключаємо зразки, зібрані до 2000 року, і повертаємо лише рік, кількість жовтих M & Ms та відсоток червоних M & Ms.

    mm_20xx = підмножина (мм_дані, рік >= 2000, виберіть = c (рік, число_жовтий, процент_червоний))

    мм_20хх

    число року_жовтий процент_червоний

    1 2006 2 27.80

    2 2006 3 4.35

    3 2000 1 22.70

    4 2000 5 20,80

    • Was this article helpful?