Анализ данных от 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. Есть несколько вещей, которые я хочу знать:

  1. Сколько респондентов уже побывали на технических курсах?
  2. Сколько респондентов в настоящее время работают инженерами-программистами?
  3. Где больше всего перспектив?
  4. Сколько им лет?

Эти вопросы, несомненно, приведут к другим вопросам и большему количеству вещей для изучения. Как весело!

Обратите внимание, если вы просматривали этот набор данных, вы увидите несколько ответов с заголовком «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 продолжится во второй части, которая выйдет на следующей неделе. Мы также создадим мини-персону клиента для будущего учебного курса по науке о данных. Если у вас есть какие-либо вопросы, на которые могут ответить эти данные, ответьте на этот пост, и я могу включить его.

Если вам понравился этот пост и вы узнали что-то новое, нажмите кнопку «Рекомендовать» ^__^