Анализ данных от 2 замечательных групп
Всем привет. Надеюсь у тебя все хорошо. Сегодня мы собираемся изучить данные Free Code Camp. В частности, данные, которые они опубликовали в своем опросе, который они провели несколько месяцев назад с CodeNewbie. Они были достаточно любезны, чтобы опубликовать его для нас, чтобы мы могли визуализировать и проанализировать. Как большой фанат, я был очень взволнован, чтобы начать погружаться!
Для тех из вас, кто не знает, Free Code Camp — это онлайн-программа, где вы можете начать изучать HTML и CSS, создавая веб-приложения с различными библиотеками JavaScript. К концу программы вы будете использовать свои новые навыки, чтобы помочь некоммерческой организации. Как это круто?
CodeNewbie — это просто одно из самых поддерживающих онлайн-сообществ в Интернете для программистов всех уровней квалификации, особенно для начинающих. У них есть потрясающий еженедельный подкаст на самые разные темы, а также действительно веселый чат в Твиттере каждую среду в 9 вечера. восточный. Обязательно проверьте их. Я люблю их (совершенно платонически).
Этот набор данных также используется в качестве Задания 3 для Клуба обучения науке о данных. Задача состоит в том, чтобы задать бизнес-вопросы, на которые смогут ответить данные. Поэтому я представлю некоторые из них в этом посте и посмотрю, есть ли предложения, которые я могу дать, исходя из моего опыта в маркетинге и бизнесе. Возможно, у вас могут быть даже собственные вопросы?
Хорошо, давайте начнем. Если вы хотите продолжить, вот ссылка на то, где данные размещены на Kaggle. Он представлен в виде CSV-файла, поэтому для этого нам не нужен пакет. Мы можем просто использовать функцию read.csv.
FCC_df <- read.csv("~/Data/2016-FCC-New-Coders-Survey-Data.csv", header = T)
Теперь у нас есть новый фрейм данных. В этой функции мы сообщаем read.csv, где находятся данные, в данном случае моя папка с данными на моем компьютере, а также имя файла. Часть заголовка функции сообщает, будем ли мы использовать имена столбцов, найденные в файле, или общие. Это либо True(T), либо False(F) соответственно.
Давайте посмотрим, что у нас получилось:
dim(FCC) 15620 113
Есть более 15 000 ответов по 113 наблюдениям или переменным. Я использовал dimвместо strиз-за количества упомянутых наблюдений.
Я думал о том, как я могу сделать этот анализ актуальным для меня и при этом выполнить задание 3. Просмотрев ответы на опрос о вакансиях, которые интересуют читателей, я заметил, что есть некоторые для специалистов по данным и инженеров по данным. Эврика! Я хочу знать об этих людях. Итак, мы разделяем этот фрейм данных и делаем этот проект о них. У нас будет небольшая помощь с некоторыми пакетами
library(tidyverse) library(stringr)
Для начинающих пользователей R всегда полезно загружать пакеты, которые вам понадобятся, в начале проекта. Вы увидите это, когда это появится на GitHub. Tidyverse — это серия пакетов, объединенных в 1, что делает EDA удобным. Вместо загрузки ggplot2 в одну строку и dpylr в другую, tidyverse загрузит сразу 6 пакетов. Stringr — это пакет, используемый для помощи в операциях со строками. R немного суетлив, когда дело доходит до пробелов, поэтому такой пакет избавит вас от головной боли. Итак, сначала мы собираемся решить проблему с пробелами.
FCC_df$JobRoleInterest<- str_trim(FCC_df$JobRoleInterest)
Str_trim — это функция в stringr, которая удаляет пробелы перед словами. Теперь подмножим FCC, чтобы собрать всех наших перспективных специалистов по данным и инженеров:
DSInt_df <- subset(FCC_df, JobRoleInterest == "Data Scientist / Data Engineer")
Подмножество — это функция уже в R, которая работает как функция фильтра dplyr. Давайте посмотрим, что мы идем сейчас:
dim(DSInt_df) 646 118
Теперь мы знаем, что 646 человек заинтересованы в том, чтобы стать специалистом по данным или инженером данных. Это около 4% первоначальных респондентов.
Вопросы и визуализации
Теперь мы переходим к части проекта EDA. Есть несколько вещей, которые я хочу знать:
- Сколько респондентов уже побывали на технических курсах?
- Сколько респондентов в настоящее время работают инженерами-программистами?
- Где больше всего перспектив?
- Сколько им лет?
Эти вопросы, несомненно, приведут к другим вопросам и большему количеству вещей для изучения. Как весело!
Обратите внимание, если вы просматривали этот набор данных, вы увидите несколько ответов с заголовком «NA». В основном это означает, что данные отсутствуют или недоступны. В случае с этим опросом это просто означает, что некоторые люди не ответили на определенные вопросы. В некоторых случаях NA не слишком сильно повлияет на ваш анализ или вообще не повлияет на него. Тем не менее, есть функции и опции, которые вы можете использовать, чтобы позаботиться о них.
Начнем с возраста
ggplot(data = DataP, mapping = aes(x = Age)) + geom_histogram(binwidth = 1.0, fill = "dark blue")
Эта гистограмма сильно наклонена вправо. Это означает, что большая часть этой группы довольно молода с самой высокой концентрацией в середине двадцатых годов. В этой функции построения графика, а также в некоторых других, ggplot2 был достаточно хорош, чтобы не включать NA в график, чтобы он не мешал. Давайте копнем немного глубже о возрасте наших респондентов.
summary(FCC_df$Age) Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 14.00 22.00 26.00 27.72 31.25 65.00 74
Самому младшему 14 лет, а самому старшему 65 лет. Средний возраст — 27 лет. Всего 74 человека не сообщили нам свой возраст. Бу. Если мы хотим получить подсчет точных чисел каждого возраста, мы можем использовать табличную функцию:
table(FCC_df$Age) 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 2 9 9 18 32 28 24 41 40 37 42 27 25 29 23 24 18 18 12 11 15 8 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 58 65 10 6 4 7 5 7 4 3 8 6 2 1 2 4 2 1 1 2 2 1 1
Я знаю, что это может показаться запутанным, но поверьте мне, таблица эффективна. Цифры вверху от 14 до 65 — это возраст, который ввел респондент. Цифры ниже показывают, сколько людей указали этот возраст. Например, хотя одному человеку 65 лет, есть 42 человека в возрасте 25 лет, 41 человек в возрасте 22 лет и так далее. Большинство людей в этом опросе 25 из таблицы. И если присмотреться, то это можно увидеть и на гистограмме. Мы закончили с возрастом. Другой способ выразить это визуально — использовать график стебля и листа.
Этого пока достаточно. Процесс EDA продолжится во второй части, которая выйдет на следующей неделе. Мы также создадим мини-персону клиента для будущего учебного курса по науке о данных. Если у вас есть какие-либо вопросы, на которые могут ответить эти данные, ответьте на этот пост, и я могу включить его.
Если вам понравился этот пост и вы узнали что-то новое, нажмите кнопку «Рекомендовать» ^__^