Перевод подготовлен для студентов курса «Прикладная аналитика в R» .
Нам, специалистам по данным, часто дают набор данных и просят использовать его для генерации информации.
Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и графиков для обмена или публикации результатов.
Если мы посмотрим на данные таким образом, то не имеет значения, откуда они взялись.
Размер выборки, набор признаков и их масштабы фиксированы.
Однако процедуры, используемые для сбора или генерации данных, чрезвычайно важны для будущего анализа, а также для качества информации, которую мы можем в конечном итоге получить.
Процесс сбора данных влияет на то, как следует анализировать полученные данные.
Для исследований, измеряющих причинно-следственные связи, важно, какие данные учитываются, а какие нет. Поскольку эти процессы настолько важны, мы хотели создать инструмент, который помог бы ученым и другим исследователям.
представить (подражать) ваши данные до их сбора, чтобы можно было внести любые изменения в этап сбора данных, пока не стало слишком поздно.
Если данные уже собраны, инструмент позволяет визуализировать данные перед их анализом.
Когда мы принимаем решения по обработке данных и моделированию на основе результатов, которые мы получаем от каждой операции, или используем статистические модели, мы неосознанно уязвимы для таких предубеждений, как «Сад расходящихся тропинок» или п-хакерство , что может привести нас к выбору процедуры анализа, которая даст наилучший результат. Мы используем реальные данные, потому что у нас нет хорошей альтернативы: нет данных с той же структурой и характеристиками, которые мы собрали.
В этой статье представлен пакет фабрикант (из набора пакетов Объявить дизайн ), роль которого заключается в моделировании структуры и функций данных.
Посмотрите обзор Объявить дизайн в RViews , описывая его философию.
Полиэтиленовый пакет фабрикант помогает вам подумать о своих данных, прежде чем вы начнете анализировать или даже собирать их.
Какие данные? Как они структурированы? Какие измерения вы будете проводить? Каковы их диапазоны и как они коррелируют? фабрикант может помочь вам смоделировать фиктивные данные перед сбором реальных данных и протестировать различные стратегии оценки, не беспокоясь об изменении ваших предположений.
Представьте свою структуру данных В своей простейшей форме фабрикант создаст одноуровневую структуру данных с заданным количеством.
library(fabricatr) fabricate(N = 100, temp_fahrenheit = rnorm(N, mean = 80, sd = 20)) ## Warning: `is_lang()` is deprecated as of rlang 0.2.0. ## Please use `is_call()` instead. ## This warning is displayed once per session. ## Warning: `lang_name()` is deprecated as of rlang 0.2.0. ## Please use `call_name()` instead. ## This warning is displayed once per session.
ИДЕНТИФИКАТОР | TEMP_FAHRENHEIT |
---|---|
001 | 56.6 |
002 | 46.3 |
003 | 90.5 |
004 | 75.1 |
005 | 85.1 |
006 | 102.8 |
Например, в школах есть классы, в классах есть ученики.
Использование команды add_level фабрикант решит и эту проблему.
По умолчанию новые уровни вложены в более высокие уровни.
library(fabricatr)
fabricate(
# five schools
school = add_level(N = 5,
n_classrooms = sample(10:15, N, replace = TRUE)),
# 10 to 15 classrooms per school
classroom = add_level(N = n_classrooms),
# 15 students per classroom
student = add_level(N = 15)
)
## Warning: `lang_modify()` is deprecated as of rlang 0.2.0.
## Please use `call_modify()` instead.
## This warning is displayed once per session.
ШКОЛА | N_CLASSROOMS | КЛАСС | СТУДЕНТ |
---|---|---|---|
1 | 12 | 01 | 001 |
1 | 12 | 01 | 002 |
1 | 12 | 01 | 003 |
1 | 12 | 01 | 004 |
1 | 12 | 01 | 005 |
1 | 12 | 01 | 006 |
Например, данные об учащихся можно получить как из средней, так и из старшей школы.
В этом случае учащиеся будут учиться в двух разных школах и эти школы не будут связаны друг с другом.
Ниже приведен пример того, как сделать такие «перекрестные» данные.
Параметр ро определяет, насколько они должны коррелировать первичный_ранг И второй_ранг .
dat <-
fabricate(
primary_schools = add_level(N = 5, primary_rank = 1:N),
secondary_schools = add_level(N = 6, secondary_rank = 1:N, nest = FALSE),
students = link_levels(N = 15, by = join(primary_rank, secondary_rank, rho = 0.9))
)
## `link_levels()` calls are faster if the `mvnfast` package is installed.
ggplot(dat, aes(primary_rank, secondary_rank)) + geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.5) + theme_bw()
Аналогично, вы можете генерировать продольные данные с помощью cross_levels : fabricate(
students = add_level(N = 2),
years = add_level(N = 20, year = 1981:2000, nest = FALSE),
student_year = cross_levels(by = join(students, years))
)
СТУДЕНТЫ | ГОДЫ | ГОД | STUDENT_YEAR |
---|---|---|---|
1 | 01 | 1981 | 01 |
2 | 01 | 1981 | 02 |
1 | 02 | 1982 | 03 |
2 | 02 | 1982 | 04 |
1 | 03 | 1983 | 05 |
2 | 03 | 1983 | 06 |
Однако в некоторых случаях обычные типы переменных удивительно сложно моделировать.
В фабрикант Существует небольшое количество функций с простым синтаксисом для создания функций часто используемых типов.
Здесь мы опишем два примера, остальное см.
статья .
Признаки с внутриклассовой корреляцией
Используя описанные выше инструменты, можно построить данные, которые имеют вариации внутри и между блоками, например, внутриклассные вариации и вариации между классами.Во многих случаях необходимо более точно определить уровень внутриклассовой корреляции (ICC).
Помогите здесь draw_normal_icc И draw_binary_icc .
dat <-
fabricate(
N = 1000,
clusters = sample(LETTERS, N, replace = TRUE),
Y1 = draw_normal_icc(clusters = clusters, ICC = .
2), Y2 = draw_binary_icc(clusters = clusters, ICC = .
2)
)
ICC::ICCbare(clusters, Y1, dat)
## [1] 0.09726701
ICC::ICCbare(clusters, Y2, dat)
## [1] 0.176036
Упорядоченные результаты
У нас также есть инструменты для дискретных случайных величин (включая упорядоченные результаты).Мы берем скрытую переменную (например.
test_ability ) и преобразуем его в упорядоченный признак ( test_score ).
dat <-
fabricate(
N = 100,
test_ability = rnorm(N),
test_score = draw_ordered(test_ability, breaks = c(-.
5, 0, .
5))
)
ggplot(dat, aes(test_ability, test_score)) + geom_point() + theme_bw()
фабрикант Совместим практически с любой функцией создания переменных R. В Эта статья мы описали несколько замечательных пакетов R, которые помогут вам моделировать черты, связанные с социологией.
Куда идти дальше В этой статье представлен общий обзор функциональности.
фабрикант .
Для более подробной информации читайте статью Начало работы с производителем .
Вы можете установить фабрикант через КРАН: install.packages("fabricatr")
library(fabricatr)
Есть вопросы? Пишите в комментариях! Теги: #аналитика #Визуализация данных #наука о данных #обработка данных #аналитика #r #моделирование данных #r lang #прикладная аналитика #язык R
-
Парменид
19 Oct, 24 -
Google Adsense: Что Вам Нужно Знать!
19 Oct, 24 -
Звездные Войны, Повествование И Веб-Дизайн
19 Oct, 24 -
Нка: Игры Без Знания Планов Других
19 Oct, 24 -
Шаровая Коробка Передач
19 Oct, 24 -
В Поисках Математической Нирваны
19 Oct, 24 -
Пара Мыслей По Поводу Компоновки...
19 Oct, 24