Я научный сотрудник лаборатории (волонтер). Мне и небольшой группе было поручено провести анализ данных для набора данных, извлеченных из большого исследования. К сожалению, данные были собраны с помощью какого-то онлайн-приложения, и оно не было запрограммировано на вывод данных в наиболее удобной форме.
Картинки ниже иллюстрируют основную проблему. Мне сказали, что это называется «изменение формы» или «реструктуризация».
Вопрос: Каков наилучший процесс перехода от рисунка 1 к рисунку 2 с большим набором данных с более чем 10 тыс. Записей?
r
excel
data-cleaning
Wilkoe
источник
источник
data.table
,dplyr
,plyr
, иreshape2
- я рекомендую избегать Excel и сводных таблиц , если это возможно.Ответы:
Как я отметил в своем комментарии , в вопросе недостаточно подробностей, чтобы сформулировать реальный ответ. Поскольку вам нужна помощь даже в поиске правильных терминов и формулировании вашего вопроса, я могу кратко рассказать об общих чертах.
В некотором смысле, очистка данных может быть выполнена в любом программном обеспечении и с помощью Excel или R. У обоих вариантов будут свои плюсы и минусы:
R: R потребует крутой кривой обучения. Если вы не очень хорошо знакомы с R или программированием, то попытки, которые можно сделать довольно быстро и легко в Excel, будут неприятны, если вы попытаетесь использовать R. С другой стороны, если вам когда-либо придется делать это снова, это обучение будет хорошо проведенное время Кроме того, возможность писать и сохранять свой код для очистки данных в R облегчит перечисленные выше недостатки. Ниже приведены некоторые ссылки, которые помогут вам начать работу с этими задачами в R:
Вы можете получить много полезной информации о переполнении стека :
Quick-R также является ценным ресурсом:
Получение чисел в числовом режиме:
Еще один бесценный источник информации о R - справочный веб-сайт UCLA :
Наконец, вы всегда можете найти много информации с помощью старого доброго Google:
Обновление: это распространенная проблема, касающаяся структуры вашего набора данных, когда у вас есть несколько измерений на «единицу обучения» (в вашем случае, на человека). Если у вас есть одна строка для каждого человека, ваши данные, как говорят, находятся в «широкой» форме, но тогда у вас обязательно будет несколько столбцов для вашей переменной ответа, например. С другой стороны, вы можете иметь только один столбец для вашей переменной ответа (но в результате иметь несколько строк на человека), и в этом случае ваши данные будут иметь «длинную» форму. Переход между этими двумя форматами часто называют «преобразованием» ваших данных, особенно в мире R.
reshape()
сайте статистики UCLA есть руководство по использованию .reshape
тяжело работать. Хэдли Уикхем предоставил пакет под названием reshape2 , который призван упростить процесс. Персональный сайт Хэдли для reshape2 находится здесь , обзор Quick-R находится здесь , и есть хороший вид учебник здесь .источник
Попробуйте выполнить с помощью R:
источник
В scala это называется операцией "разнесения" и может быть выполнено в dataFrame. Если ваши данные rdd, вы сначала конвертируете их в dataFrame с помощью
toDF
команды, а затем используете.explode
метод.источник