Breyta breytum

Snúa gildum við

Gagnast t.d. til að snúa likert kvarða við

df$breyta <- car::recode(df$breyta, "1=5; 2=4; 3=3; 4=2; 5=1") 

Skipta gildum út

df$breyta[df$breyta == "INF"] <- 1
  • Hér er öllum INF gildum skipt út fyrir töluna 1

Sía út hluta af gildum

df$breyta <- substr(as.character(df$breyta), 0,4)
  • Nú strokast allt út nema fyrstu 4 stafir
df <- mutate(df, breyta=as.integer(str_sub(breyta, start=1, end=4)))

Ný breyta

Tvíkostabreyta

Byggt á miðgildi annarrar

df$nybreyta <- with(ifelse(breyta > median(breyta), "1","0"), data=df)
  • Hér tekur nýja breytan gildið 0 ef breyta er undir miðgildi, annars gildið 1.

Byggt á meðaltali annarrar

df$nybreyta <- with(ifelse(breyta > mean(breyta), "1","0"), data=df)
  • Hér tekur nýja breytan gildið 0 ef breyta er undir meðaltali, annars gildið 1.

Byggt á raungildi

df$nybreyta <- with(ifelse(breyta > 50, "1","0"), data=df)
  • Tekur gildið 1 ef gildi er yfir 50, annars 0.

Flokkabreyta

df$nybreyta <- ifelse(df$breyta < 60, "lítil", ifelse(df$breyta <= 90 & df$breyta >= 60, "mið","stór"))
  • Ný breyta búin til sem getur tekið 3 gildi: “lítil” ef gildi á breyta var undir 60, “mið” ef gildi á breyta var undir 90 en yfir 60, & “stór” annars (þ.e. ef gildi er yfir 90).

Önnur leið:

df$nybreyta <- cut(df$breyta, c(0, 60, 90,(max(df$breyta, na.rm=T)+1)), right=F)
levels(df$nybreyta) <- c("lítil","mið","stór")
  • Hér bjó ég til breytu sem skiptist í 3 hópa; þau sem taka gildi undir 60 á breyta, á milli 60 og 90 og þau sem taka gildi yfir 90.
  • Seinni hluti er síðan að gefa þessum nýju hópum nöfn.

Reiknuð

Ný breyta sem er hlutfall tveggja annarra

df <- mutate(df, hlutfall=breyta1/breyta2)

Umbreyting mælieiningar

df$breyta <- df$breyta*2.54 #Inch yfir í cm.
df$breyta <- df$breyta*0.45359237 # lbs yfir í kg