Расстояние до центра города

Создадим новую переменную, в которую запишем расстояние от квартиры до центра города. За центр примем Дворцовую площадь. Координаты: 59.938924, 30.315978. Внесем их в соответствующие переменные:

lat = 59.938924
long = 30.315978

Расстояние будем записывать в новую переменную Dist_pal_sq. Для его рассчета воспользуемся функциями пакета geosphere:

library(geosphere)
data_1 = data %>% filter(!is.na(Longitude)) %>% filter(!is.na(Latitude))

  for(i in 1:nrow(data_1))
  {data_1[i,"Dist_pal_sq"]= distHaversine(c(data_1[i,"Longitude"], data_1[i,"Latitude"]), c(long, lat))/1000}

Построим диаграмму рассеяния для расстояния до центра и цены аренды:

data_1 = data_1 %>% filter(Price<100000)
data_1$Price = data_1$Price/1000
ggplot(data_1) +geom_point(aes(x = Price,y = Dist_pal_sq), color = 2)+
  xlab("Цена аренды в тыс. руб")+
  ylab("Расстояние до центра")

Оставим наблюдения только в пределах Петербурга:

data_1 = data_1 %>%  filter(Region == "gorod Sankt-Peterburg")
ggplot(data_1) +geom_point(aes(x = Price,y = Dist_pal_sq), color = 2)+
  xlab("Цена аренды в тыс. руб")+
  ylab("Расстояние до центра")

И посчитаем коэффициент корреляции:

cor_dist_pal_sq = cor(data_1$Dist_pal_sq, data_1$Price, method="spearman")

Коэффициент оказался равен -0.5814073. Корреляцию нельзя назвать существенной, но все же она присутствует. Коэффициент корреляции ожидаемо оказался отрицательным - чем больше расстояние до центра, тем потенциально дешевле квартира.

Количество этажей:

В ходе предварительного анализа было обнаружено, что в колонке с количеством этажей встречаются ошибочные значения “… kv.m.”. Заменим их на NA:

data$NFloor = ifelse(str_detect(data$NFloor, 'kv.m.')==T, NA, data$NFloor)

Порпробуем рассмотреть количество этажей как числовую переменную и отметить некоторые особенности:

data$NFloor = data$NFloor %>% as.numeric()
library(psych)
library(knitr)
library(DT) #для построения таблиц
stock = data$NFloor%>% na.omit() #сразу уберем все пропущенные значения
stock= describe(stock)  %>% select(-vars, -n, -sd, -trimmed, -mad, -se)%>% rename(assimetria = skew) %>% mutate(firstQu = quantile(stock,0.25)) %>% mutate(thirdQu = quantile(stock,0.75)) %>% mutate(sko = sd(stock)) %>%  mutate_all(funs(ifelse(.<1, round(.,3), ifelse(.<10,round(.,2),ifelse(.<100,round(.,1),round(.,0)))))) 
kable(stock)
mean median min max range assimetria kurtosis firstQu thirdQu sko
X1 11.9 10 1 35 34 0.669 -0.683 6 16 6.77

Минимальное значение - 1 этаж (вероятно, дома в области). Максимальное значение - 35 этажей - вполне допустимое. Медианное значение - 10 этажей, то есть 50% домов в выборке выше 10 этажей, 50% - ниже. Каких-либо ошибок в данных не обнаружено.

Посмотрим, как конкретно распределены наблюдения по количеству этажей

 ggplot(data) +geom_bar(aes(x = NFloor %>% as.factor), fill = 2, color = 1)+
  ggtitle("Распределение наблюдений по количеству этажей в доме")+
  xlab("Кол-во этажей")+
  ylab("Абсолютная частота")

В выборке есть очевидные лидеры - 5-этажные и 9-этажные дома. Это легко объяснимо. 5-этажные дома строились в Петербурге и в 19 веке, и в начале 20 века (многие доходные дома высотой именно в 5 этажей), и, конечно, на протяжении советского периода (знаменитые “хрущевки”). А 9 этажей - это самая распространенная высота типовой советской застройки.

Наконец, условно разделим наблюдения на три группы “Малоэтажки”(1-5 этажей), “Среднеэтажки”(6-9 этажей), “Многоэтажки”(больше 9 этажей) и посмотрим, как распределены здания по этим группам:

data$stock = ifelse(data$NFloor<=5, "Малоэтажки", ifelse(data$NFloor<10,"Среднеэтажки", "Многоэтажки"))
data$stock = data$stock %>% ordered(levels = c("Малоэтажки","Среднеэтажки", "Многоэтажки"))
ggplot(data %>% filter(!is.na(stock))) +geom_bar(aes(x = stock), color = 1, fill = 3)+
  ggtitle("Распределение наблюдений по этажности")+
  xlab("Тип здания")+
  ylab("Абсолютная частота")

Как мы видим, большую часть наблюдений составляют многоэтажки. Это может объясняться тем, что многоэтажки это в большинстве своем относительно новые дома (новостройки), квартиры в которых часто приобретаются как раз для последующей сдачи в аренду.