Les inn gagnaskrá

#df <- read.table("C:/...../fasteignaskra_raw.csv", header=T, sep=";", na.strings = "(null)", dec = ",", fileEncoding="latin1")


df <- read.table("C:/Users/Lenovo/Dropbox/PC (3)/Documents/Vefsíður/katrinarnd.is/files/fasteignaskra_raw.csv", header=T, sep=";", na.strings = "(null)", dec = ",", fileEncoding="latin1")



library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Dálkaskýringar allra breyta

faerslunumer; auðkenni kaupsamnings í skrá Þjóðskrár Íslands rfastnum; auðkenni eignar, ef eign selst oftar en einu sinni eru margar færslur á rfastnum kdagur ; kaupdagur nuvirdi ; núvirði (staðgreiðsluvirði kaupsamnings) kaupverd; kaupverð grfast ; hluti kaupverðs greiddur með annarri fasteign grlaus ; hluti kaupverðs greiddur með lausafé (bíl, bát, …) teg_eign; texti með lýsingu eignar svfn ; auðkenni sveitarfélags (sjá sér “Sheet”) byggd ; auðkenni byggðar innan sveitarfélags lodpflm ; hlutdeild eignar í lóðarflatarmáli abnflm ; flatarmál í lokunarflokkum A og B nythl ; nýtingarhlutfall lóðar adferd ; 1 ef skráningartafla, 0 annars efnu ; byggingarefni (sjá skýrslu um fasteignamat) byggar ; byggingarár mbstig ; byggingarstig ist120 ; flokkun eignar (sjá skýrslu um fasteignamat) efstah ; Númer efstu hæðar í húsi (matshluta) haednr ; númer aðalhæðar eignar fjibmhl ; fjöldi íbúða í húsi (matshluta) fjmib ; fjöldi íbúða í eign lyfta ; fjöldi lyfta í húsi (matshluta) ummal ; ummál eignar haedflm ; meðalflatarmál hæðar birtm2 ; birt flatarmál (flatarmál séreignar) ibm2 ; íbúðarflatarmál ntm2 ; nettó flatarmál fjhaed ; fjöldi hæða í fasteign fjbilast; fjöldi bílastæða í bílageymslu fjbkar ; fjöldi baðkara fjsturt ; fjöldi sturta fjklos ; fjöldi klósetta fjeld ; fjöldi eldhúsa fjherb ; fjöldi herbergja fjstof ; fjöldi stofa fjgeym ; fjöldi geymsla studull ; leiðrétting vegna skoðunar stig10 ; Mælikvarði á hversu langt eign er komin í byggingu (10 fullklárað) ib1m2 ; Íbúðarflatarmál á hæð ib2m2 ; Íbúðarflatarmál í kjallara ib3m2 ; Íbúðarflatarmál í risi bilskurm2; Bílskúrsflatarmál
bilgm2 ; Flatarmál bílgeymslna svalm2 ; Svalaflatarmál geymm2 ; Geymsluflatarmál rism2 ; Flatarmál í risi þar sem salarhæð er undir 1,8m matssvaedi; Matssvæði (sjá kort á http://www.skra.is) undirmatssvaedi; Undirmatssvæði (sjá kort á http://www.skra.is ) fjibhaed; Fjöldi íbúða á hæð í húsi (matshluta) ibteg ; Tegund íbúðar (11 = sérbýli, 12 = fjölbýli) sernotad ; 1 ef kaupsamningur var notaður við líkangerð sérbýlishúsa fjolnotad ; 1 ef kaupsamningur var notaður við líkangerð fjölbýlishúsa

Útskýring á breytu ist120 Þetta er í raun sama og tegund eignar, það eru þó einstaka ósamræmi svo fínt að nota báðar. Einbýli = 1111; 1115; 1116; 1330 Raðhús = 1121; 1123 íbúðarhús = 1122 parhús = 1125 íbúðareign = 1126; 1200;1300; 1314; ósamþykkt eign = 1127 fjölbýlishús = 1210 íbúðareign = 1223; 1330 ósamþykkt íbúð = 1227 Gistiheimili = 1330 Hótelstarfsemi = 1330 Gistihús = 1333 Íbúðareign = 2000

Útskýring á SVFN breytunni: 0 = Reykjavíkurborg 1000 = Kópavogur 1100 = Seltjarnarnes 1300 = Garðabær 1400 = Hafnarfjörður 1604 = Mosfellsbær

Fjarlægi óþarfar breytur

df <- df %>% select(-c(faerslunumer, 
                       rfastnum,
                       grfast, 
                       grlaus, 
                       mbstig,
                       byggd, 
                       lodpflm,
                       abnflm, 
                       nythl,
                       adferd,
                       efnu,
                       efstah,
                       fjibmhl,
                       fjmib,
                       haedflm,
                       fjbilsk,
                       studull,
                       bilgm2,
                       fjibhaed, 
                       sernotad,
                       fjolnotad))

Sía og lagfæri

Sía út eignir sem eru fullkláraðar

#stig10 skilgreinir byggingarstig. Það sem tekur ekki gildið 10 eru því ekki fullkláraðar eignir. 
  #Fjarlægi allar eignir sem eru ekki fullkláraðar. 
  df <- dplyr:: filter(df, stig10 %in% c("10"))
  #Get nú fjarlægt breytuna sjálfa. 
  df$stig10 <- NULL

Lagfæri IST120

#Teg eignar ætti líka að vera factor 
df$teg_eign <- as.factor(df$teg_eign)
#Breyti IST120 í factor til að þrengja niður. 
df$ist120 <- as.factor(df$ist120)
#Tékka levels 
levels(df$ist120)
 [1] "1111" "1115" "1116" "1121" "1122" "1123" "1125" "1126" "1127" "1200"
[11] "1210" "1223" "1227" "1300" "1314" "1330" "1333" "2000"
#Fjarlægi það sem er ekki einbýli, raðhús, parhús, 
library(dplyr)
df <- dplyr::filter(df,ist120 %in% c("1111", "1115", "1116", "1330", 
                                     "1121","1123", 
                                     "1125",
                                     "1210")) %>% droplevels

levels(df$ist120)
[1] "1111" "1115" "1116" "1121" "1123" "1125" "1210" "1330"
#Endurskilgreini 
#einbýli: 1111; 1115; 1116; 1330
#Raðhús: 1121; 1123 
#Parhús: 1125
#Fjölbýlishús: 1210
levels(df$ist120) <- c("Einbýli", "Einbýli", "Einbýli", "Raðhús", "Raðhús", "Parhús", "Fjölbýli", "Einbýli")
levels(df$ist120)
[1] "Einbýli"  "Raðhús"   "Parhús"   "Fjölbýli"
#Sía eftir tegund eignar 
df <- dplyr::filter(df,teg_eign %in% c("Einbýlishús", "Fjölbýlishús", "Parhús", "Raðhús")) %>% droplevels
levels(df$teg_eign)
[1] "Einbýlishús"  "Fjölbýlishús" "Parhús"       "Raðhús"      
#Get núna fjarlægt ist120 breytuna 
df$ist120 <- NULL

Reikna aldur eignar

#Breyti kaupdagsetningu í kaupár 
df$kdagur <- as.Date(df$kdagur, "%d.%m.%Y") #skilgreini format
df$kdagur <- substr(as.character(df$kdagur),0,4) #fjarlægi allt nema síðustu 4 stafi
df$kdagur <- as.numeric(df$kdagur) #breyti aftur í tölugildi
names(df)[names(df) == 'kdagur'] <- 'kaupar' #breyti nafni

#Breyti byggingarári í aldur við kaup, set +1 því það eru greinilega eignir seldar fyrir afhendingu. 
  df$aldur <- (df$kaupar-df$byggar +1)
  df$aldur <- as.integer(df$aldur)
  df$byggar <- NULL

afbrigðilegar eignir

#Fjarlægi eina eign sem er utan þéttbýlis, furðuleg.... 
df$matssvaedi <- as.factor(df$matssvaedi)
df <- dplyr::filter(df,!matssvaedi %in% c("999"))

#Fjarlægi eignir augljóslega vitlaust skráða, þ.e. fjöldi eldhúsa var 7 og samt skráð sem ein íbúð í fjölbýli. 
df = subset(df, fjeld<5)

Sía út sveitarfélög á höfuðborgarsvæðinu

#Vel bara stórhöfuðborgarsvæðið. (sleppi seltjarnarnesi) sjá skilgreiningu SVFN efst í skjalinu
df <- dplyr::filter(df, svfn %in% c("0","1000","1300","1400","1604"))
#Breytan svfn skilgreind sem factor 
df$svfn <- factor(df$svfn)
#Breyti nafni gilda til að vera meira lýsandi 
levels(df$svfn) <- c("Reykjavík","Kópavogur","Garðabær","Hafnarfjörður", "Mosfellsbær")

str(df$svfn)
 Factor w/ 5 levels "Reykjavík","Kópavogur",..: 2 2 4 1 4 4 3 1 2 2 ...
summary(df$svfn)
    Reykjavík     Kópavogur      Garðabær Hafnarfjörður   Mosfellsbær 
         2175           804           740           764           366 

Sía út kaupár

df$kaupar <- as.factor(df$kaupar)
table(df$kaupar)

2012 2013 2014 2015 2016 2017 
 697  803  854 1101 1249  145 
  #Filtera bara þær eignir sem taka gildið 2016 á kaupár breytunni.
  df <- subset(df, kaupar == "2016")
  #Gæti nú eftir þetta fjarlægt breytuna kaupar 
  df$kaupar <- NULL
  
  #filtera eignir yfir 100 milljónir 
  df <- subset(df, kaupverd < 100000)

  #Get lagfært mælikvarða kaupverðs svo að túlkun sé auðveldari, eða til að staðfesta að túlkun sé rétt. 
  #df2$kaupverd <- (df2$kaupverd *1000)

#Staðfesting
  #Tryggi að allt líti enn eðlilega út
  #summary(df2)
  #boxplot(df$kaupverd)

Einfalda gagnasafnið

df <- select(df, 
             kaupverd, 
             teg_eign, 
             svfn,
             birtm2, 
             ibm2, 
             ntm2, 
             fjherb, 
             bilskurm2, 
             svalm2, 
             geymm2, 
             rism2, 
             aldur)