setwd('TODO') #nastaveni adresare s daty a funkcemi source('procrustes_algo.R') data = 'TODO' # vypiseme si vsechny sloupce print(names(data)) # (1) transformace dat # prediktory ID = data$id 'TODO - priradte dalsi prediktory z dat ktere budeme potrebovat' strana = 'TODO' pohlavi = 'TODO' vek = 'TODO' # jmena landmarku ve vektoru (vyuzijeme pozdeji) x.landmark = 'TODO' y.landmark = 'TODO' # pocty pocet_opakovani = sum(ID == 1 & strana == 'L') pocet_landmarku = 'TODO' pocet_jedincu = 'TODO' pocet_mereni = 'TODO' pocet_mereni_strany = 'TODO' # vytvoreni pole s dimenzi pocet_jedincu x 2 x pocet_landmarku hand.lmks.array.1A = array(dim=c(pocet_landmarku, 2, pocet_mereni)) hand.lmks.array.1A[,1,] = 'TODO - nezapomente transponovat data pomoci t(...) aby vam sedela dimenze' hand.lmks.array.1A[,2,] = 'TODO' # prejmenovani dimenzi dimnames(hand.lmks.array.1A)[[1]] <- paste("L",1:pocet_landmarku , sep ="") dimnames(hand.lmks.array.1A)[[2]] <- 'TODO' # (2) preskalovani jednotek # prepocet jednotek z pixelu na mm - 150 pixelu na 1 palec, 1 palec = 25.4mm skala = 'TODO' hand.lmks.array.1A = hand.lmks.array.1A * skala # TODO: vypiste si hand.lmks.array.1A[,1,1] a zkontrolujte ze hodnoty davaji smysl! # (3) krabicove diagramy centroidove velikosti # centroidova velikost (funkce cs je uz naprogramovana za vas) CS.1A = apply(hand.lmks.array.1A, 'TODO', cs) # vuci interakci strane a pohlavi boxplot(CS.1A ~ strana : pohlavi, ylab='centroidova velikost', notch=TRUE) points(tapply(CS.1A, strana : pohlavi, mean), pch=16, cex=2) # krabicovy diagram centroidove velikosti vuci pohlavi (s aritmetickymi prumery) 'TODO' # vuci strane 'TODO' # (4) nakreslete PSC a PMS do jednoho obrazku # Procrustova optimalni transformace PSC.1A = 'TODO' PMS.1A = 'TODO' # nastaveni okraju grafu par(mar=c(5,5,1,1)) # prvni graf "naprazdno" (type="n") abychom si ho pripravili plot(PSC.1A[,1,], PSC.1A[,2,], type= "n", pch=1, asp=1, xlab= "x - PSC ", ylab= "y - PSC") # pridavani PSC do grafu for(i in 1:pocet_mereni){ points('TODO', pch=16, cex=0.5) } # pridani PMS 'TODO' # (5) zobrazeni pro prvniho jedince kod.1L <- ID == 1 & strana =="L" kod.1R <- 'TODO' PMS.1L <- 'TODO' # pro vyber mereni pouzijte PSC.1A[,,kod.1R] PMS.1R <- 'TODO' # priprava grafu par(mfcol = c(1,2) , mar = c(5,5,1,1) ) # graf "naprazdno" plot(PSC.1A[,1,] , PSC.1A[,2 ,] , type ="n", pch=1, asp =1, xlab ="x - PSC", ylab ="y - PSC", sub ="ID -1, L", font.sub =2) # vykresleni vsech mereni leve ruky prvniho jedince points(PSC.1A[,1, kod.1L ] , PSC.1A[,2 , kod.1L ] , pch=1) # PMS leve ruky prvniho jedince (PMS.1L) points('TODO' , pch =16 , col ="red", cex=0.8) # PMS vsech dohromady (PMS.1A) 'TODO' # to stejne pro pravou ruku 'TODO' # (6) 'TODO'