df$breyta <- car::recode(df$breyta, "1=5; 2=4; 3=3; 4=2; 5=1") Breyta breytum
Snúa gildum við
Gagnast t.d. til að snúa likert kvarða við
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