User Tools

Site Tools


neuroimagen:altdti

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
neuroimagen:altdti [2019/03/15 09:53] – [Composites] osotolongoneuroimagen:altdti [2019/04/06 20:52] – [Todas las redes] osotolongo
Line 1022: Line 1022:
 R2:  0.301108942185496  p-value:  0.168274379413938 R2:  0.301108942185496  p-value:  0.168274379413938
 </code> </code>
 +
 +y eso es lo mejorcito. Vamos a mirar un poco mejor los //APOE 2// (N=38) :-/, que tienen la mejor asociacion.
 +<code R>
 +> m1 <- lm(okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + okdata2$Edad + okdata2$Escolaridad + okdata2$female + okdata2$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + 
 +    okdata2$Edad + okdata2$Escolaridad + okdata2$female + okdata2$SUVR)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-1.56334 -0.50510  0.08154  0.34458  2.03163 
 +
 +Coefficients:
 +                     Estimate Std. Error t value Pr(>|t|)   
 +(Intercept)           1.41530    3.18490   0.444  0.65976   
 +okdata2$DMN         -14.74565    8.08940  -1.823  0.07768 . 
 +okdata2$Edad          0.02381    0.01956   1.218  0.23226   
 +okdata2$Escolaridad  -0.01873    0.02974  -0.630  0.53326   
 +okdata2$female       -0.45115    0.26240  -1.719  0.09521 . 
 +okdata2$SUVR          1.68436    0.53322   3.159  0.00345 **
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.7156 on 32 degrees of freedom
 +Multiple R-squared:  0.5147, Adjusted R-squared:  0.4388 
 +F-statistic: 6.786 on 5 and 32 DF,  p-value: 0.0002047
 +</code>
 +
 +Voy a limpiar un poco a ver,
 +<code R>
 + > m1 <- lm(okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + okdata2$female + okdata2$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + 
 +    okdata2$female + okdata2$SUVR)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-1.72431 -0.45826  0.02665  0.49161  1.97888 
 +
 +Coefficients:
 +               Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)      4.2864     2.3684   1.810 0.079169 .  
 +okdata2$DMN    -20.8448     6.7607  -3.083 0.004047 ** 
 +okdata2$female  -0.4298     0.2608  -1.648 0.108592    
 +okdata2$SUVR     1.9746     0.4927   4.008 0.000317 ***
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.7159 on 34 degrees of freedom
 +Multiple R-squared:  0.4838, Adjusted R-squared:  0.4382 
 +F-statistic: 10.62 on 3 and 34 DF,  p-value: 4.464e-05
 +</code>
 +un poco mas,
 +
 +<code R>
 +> m1 <- lm(okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + okdata2$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + 
 +    okdata2$SUVR)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-1.60347 -0.37573 -0.05682  0.41557  2.11191 
 +
 +Coefficients:
 +             Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)    4.8843     2.3971   2.038 0.049206 *  
 +okdata2$DMN  -22.6775     6.8300  -3.320 0.002111 ** 
 +okdata2$SUVR   1.8831     0.5014   3.756 0.000629 ***
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.7333 on 35 degrees of freedom
 +Multiple R-squared:  0.4426, Adjusted R-squared:  0.4107 
 +F-statistic: 13.89 on 2 and 35 DF,  p-value: 3.617e-05
 +</code>
 +Vaya, no esta tan mal.
 +
 +A ver si encajo esto de alguna manera,
 +
 +//APOE 0//
 +<code>
 +> m1 <- lm(okdata0$funcioExecutiva_velocprocess_IM ~ okdata0$DMN + okdata0$Escolaridad + okdata0$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata0$funcioExecutiva_velocprocess_IM ~ okdata0$DMN + 
 +    okdata0$Escolaridad + okdata0$SUVR)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-0.88656 -0.46872  0.04536  0.22426  1.55510 
 +
 +Coefficients:
 +                    Estimate Std. Error t value Pr(>|t|)   
 +(Intercept)          2.64148    2.60484   1.014  0.32157   
 +okdata0$DMN          7.16412    5.08213   1.410  0.17262   
 +okdata0$Escolaridad -0.11401    0.03127  -3.645  0.00143 **
 +okdata0$SUVR        -2.79148    2.09112  -1.335  0.19555   
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.6454 on 22 degrees of freedom
 +Multiple R-squared:  0.3911, Adjusted R-squared:  0.3081 
 +F-statistic:  4.71 on 3 and 22 DF,  p-value: 0.01096
 +</code>
 +
 +//APOE 1//
 +<code>
 +> m1 <- lm(okdata1$funcioExecutiva_velocprocess_IM ~ okdata1$DMN + okdata1$Escolaridad + okdata1$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata1$funcioExecutiva_velocprocess_IM ~ okdata1$DMN + 
 +    okdata1$Escolaridad + okdata1$SUVR)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-1.3510 -0.6597 -0.1832  0.3824  4.8138 
 +
 +Coefficients:
 +                    Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)           0.8490     2.0202   0.420 0.675360    
 +okdata1$DMN          -1.6852     4.8278  -0.349 0.727896    
 +okdata1$Escolaridad  -0.0851     0.0217  -3.922 0.000176 ***
 +okdata1$SUVR          0.8174     0.9136   0.895 0.373455    
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.9785 on 86 degrees of freedom
 +Multiple R-squared:  0.1598, Adjusted R-squared:  0.1305 
 +F-statistic: 5.452 on 3 and 86 DF,  p-value: 0.001767
 +</code>
 +//APOE 2//
 +<code>
 +> m1 <- lm(okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + okdata2$Escolaridad + okdata2$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$DMN + 
 +    okdata2$Escolaridad + okdata2$SUVR)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-1.62197 -0.38893 -0.06813  0.44468  2.06993 
 +
 +Coefficients:
 +                     Estimate Std. Error t value Pr(>|t|)   
 +(Intercept)           4.49262    2.45738   1.828  0.07630 . 
 +okdata2$DMN         -19.91080    7.67129  -2.595  0.01385 * 
 +okdata2$Escolaridad  -0.02460    0.03046  -0.808  0.42484   
 +okdata2$SUVR          1.78264    0.51901   3.435  0.00158 **
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.7369 on 34 degrees of freedom
 +Multiple R-squared:  0.4531, Adjusted R-squared:  0.4048 
 +F-statistic: 9.388 on 3 and 34 DF,  p-value: 0.0001159
 +</code>
 +
 +**Hasta ahora:** En los sujetos con el alelo $\epsilon$-4 presente, la variable //funcioExecutiva_velocprocess_IM// tiene una ligera asociacion con la fraccion de anisotropia en la Default Mode Network y el SUVR de FBB. Esta asociación desaparece cuando no esta presente dicho alelo, siendo la escolaridad del sujeto la variable mas prominente en el caso de los sujetos con el alelo $\epsilon$-2.
 +==== Variables de MB ====
 +Hay un interes especial en las variables de los tesst "Piramides y Palmeras" y "Kissing and Dancing". Voy a extraer los valores,
 +<code bash>
 +> awk -F";" '{print $2,$8,$9,$11,$286,$287,$288,$289,$412}' faceHBI_matriuREF_14-1-19-1.csv | sed 's/ /;/g; s/edat/Edad/; s/subject/Subject/; s/Anyos_Escolaridad_FAC/Escolaridad/; s/Sex_1H_0M/female/; s/Global_v1/SUVR/; s/Piramides_Y_Palmeras_Palab_FAC/PPp/; s/Piramides_Y_Plameras_Imag_FAC/PPi/; s/Kissing_Dancing_Imagenes_FAC/KDi/; s/Kissing_Dancing_Palabras_FAC/KDp/' > facehbi_data_mb.csv
 +> scp -P 20022 facehbi_data_mb.csv detritus.fundacioace.org:facehbi/dti_model/
 +facehbi_data_mb.csv                                                                 100% 5476   801.5KB/  00:00  
 +</code>
 +Los cargo, hago un composite con estas variables y miro los modelos.
 +<code>
 +> fdata <-read.csv("facehbi_data_mb.csv", sep = ";", header=TRUE)
 +> fapoe <-read.csv("facehbi_apoe_strats.csv", sep = ";", header=TRUE)
 +> fdti <- read.csv("facehbi_dti.csv", sep=";", header=TRUE)
 +> okdata <- merge(fdata, fapoe, by = "Subject")
 +> okdata <- merge(okdata, fdti, by = "Subject")
 +> okdata$zPPp = (okdata$PPp - mean(okdata$PPp, na.rm = TRUE))/sd(okdata$PPp, na.rm = TRUE)
 +> okdata$zPPi = (okdata$PPi - mean(okdata$PPi, na.rm = TRUE))/sd(okdata$PPi, na.rm = TRUE)
 +> okdata$zKDi = (okdata$KDi - mean(okdata$KDi, na.rm = TRUE))/sd(okdata$KDi, na.rm = TRUE)
 +> okdata$zKDp = (okdata$KDp - mean(okdata$KDp, na.rm = TRUE))/sd(okdata$KDp, na.rm = TRUE)
 +> np <- data.frame(okdata$zPPp, okdata$zPPi, okdata$zKDp, okdata$zKDi)
 +> fanp <- fa(np)
 +> okdata$scop <- fanp$scores
 +> m1 <- lm(okdata$scop ~ okdata$DMN + okdata$Edad + okdata$Escolaridad + okdata$female + okdata$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata$scop ~ okdata$DMN + okdata$Edad + okdata$Escolaridad + 
 +    okdata$female + okdata$SUVR)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-3.7621 -0.2453  0.2214  0.5313  1.0935 
 +
 +Coefficients:
 +                   Estimate Std. Error t value Pr(>|t|)
 +(Intercept)         0.79633    2.39102   0.333    0.740
 +okdata$DMN          3.64776    5.39764   0.676    0.501
 +okdata$Edad        -0.02282    0.01537  -1.484    0.142
 +okdata$Escolaridad  0.02556    0.02308   1.108    0.272
 +okdata$female      -0.19461    0.23710  -0.821    0.415
 +okdata$SUVR        -0.62693    0.58403  -1.073    0.287
 +
 +Residual standard error: 0.8891 on 68 degrees of freedom
 +  (80 observations deleted due to missingness)
 +Multiple R-squared:  0.1081, Adjusted R-squared:  0.04254 
 +F-statistic: 1.649 on 5 and 68 DF,  p-value: 0.1591
 +> m1 <- lm(okdata$scop ~ okdata$FPCustom + okdata$Edad + okdata$Escolaridad + okdata$female + okdata$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata$scop ~ okdata$FPCustom + okdata$Edad + okdata$Escolaridad + 
 +    okdata$female + okdata$SUVR)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-3.8339 -0.2617  0.2257  0.5570  1.1006 
 +
 +Coefficients:
 +                   Estimate Std. Error t value Pr(>|t|)
 +(Intercept)         1.33594    2.04679   0.653    0.516
 +okdata$FPCustom     2.58755    4.99434   0.518    0.606
 +okdata$Edad        -0.02482    0.01490  -1.666    0.100
 +okdata$Escolaridad  0.02702    0.02290   1.180    0.242
 +okdata$female      -0.18170    0.23560  -0.771    0.443
 +okdata$SUVR        -0.61935    0.58992  -1.050    0.297
 +
 +Residual standard error: 0.8903 on 68 degrees of freedom
 +  (80 observations deleted due to missingness)
 +Multiple R-squared:  0.1057, Adjusted R-squared:  0.0399 
 +F-statistic: 1.607 on 5 and 68 DF,  p-value: 0.1701
 +> okdata0 <- okdata[okdata$APOE == "0",]
 +> m1 <- lm(okdata0$scop ~ okdata0$FPCustom + okdata0$Edad + okdata0$Escolaridad + okdata0$female + okdata0$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata0$scop ~ okdata0$FPCustom + okdata0$Edad + 
 +    okdata0$Escolaridad + okdata0$female + okdata0$SUVR)
 +
 +Residuals:
 +      19       20       21       22       23       24       25       26 
 + 0.85452  0.59106 -0.39878 -1.11895  0.04513  0.21929 -0.25185  0.05957 
 +
 +Coefficients:
 +                     Estimate Std. Error t value Pr(>|t|)
 +(Intercept)          11.46677   14.83812   0.773    0.520
 +okdata0$FPCustom    -24.86515   25.51080  -0.975    0.433
 +okdata0$Edad         -0.09124    0.19281  -0.473    0.683
 +okdata0$Escolaridad  -0.04443    0.13213  -0.336    0.769
 +okdata0$female        0.38851    1.52692   0.254    0.823
 +okdata0$SUVR          2.28677   10.61157   0.215    0.849
 +
 +Residual standard error: 1.142 on 2 degrees of freedom
 +  (18 observations deleted due to missingness)
 +Multiple R-squared:  0.4025, Adjusted R-squared:  -1.091 
 +F-statistic: 0.2695 on 5 and 2 DF,  p-value: 0.8972
 +> okdata1 <- okdata[okdata$APOE == "1",]
 +> m1 <- lm(okdata1$scop ~ okdata1$FPCustom + okdata1$Edad + okdata1$Escolaridad + okdata1$female + okdata1$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata1$scop ~ okdata1$FPCustom + okdata1$Edad + 
 +    okdata1$Escolaridad + okdata1$female + okdata1$SUVR)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-1.7087 -0.3229  0.1671  0.4659  0.7777 
 +
 +Coefficients:
 +                     Estimate Std. Error t value Pr(>|t|)
 +(Intercept)         -0.709449   2.410371  -0.294    0.770
 +okdata1$FPCustom     1.379688   4.589883   0.301    0.765
 +okdata1$Edad        -0.014505   0.013777  -1.053    0.299
 +okdata1$Escolaridad  0.006632   0.022277   0.298    0.768
 +okdata1$female      -0.033525   0.229931  -0.146    0.885
 +okdata1$SUVR         1.141289   1.255969   0.909    0.369
 +
 +Residual standard error: 0.6507 on 38 degrees of freedom
 +  (46 observations deleted due to missingness)
 +Multiple R-squared:  0.04695, Adjusted R-squared:  -0.07845 
 +F-statistic: 0.3744 on 5 and 38 DF,  p-value: 0.863
 +> okdata2 <- okdata[okdata$APOE == "2",]
 +> m1 <- lm(okdata2$scop ~ okdata2$FPCustom + okdata2$Edad + okdata2$Escolaridad + okdata2$female + okdata2$SUVR)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata2$scop ~ okdata2$FPCustom + okdata2$Edad + 
 +    okdata2$Escolaridad + okdata2$female + okdata2$SUVR)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-3.6076 -0.3908  0.1920  0.7653  1.2746 
 +
 +Coefficients:
 +                    Estimate Std. Error t value Pr(>|t|)
 +(Intercept)          2.67538    7.36103   0.363    0.721
 +okdata2$FPCustom    -2.34987   21.06438  -0.112    0.913
 +okdata2$Edad        -0.04374    0.04392  -0.996    0.334
 +okdata2$Escolaridad  0.10479    0.07971   1.315    0.207
 +okdata2$female      -0.52022    0.64123  -0.811    0.429
 +okdata2$SUVR        -0.47680    1.07041  -0.445    0.662
 +
 +Residual standard error: 1.285 on 16 degrees of freedom
 +  (16 observations deleted due to missingness)
 +Multiple R-squared:  0.259, Adjusted R-squared:  0.02737 
 +F-statistic: 1.118 on 5 and 16 DF,  p-value: 0.3898
 +</code>
 +Con lo cual me convenzo de que esto no vale para nada.
 +
 +===== Todas las redes =====
 +
 +No creo que funcione pero por completitud debo hacer el mismo procedimiento para todas las redes que hemos medido, esto es: DMN, FPCustom, LN y SN.
 +
 +<code bash>
 +[osotolongo@detritus facehbi]$ awk -F";" '{print $1";"$2}' facehbi_dti_LN.csv > facehbi_fa_LN.csv
 +[osotolongo@detritus facehbi]$ awk -F";" '{print $1";"$2}' facehbi_dti_SN.csv > facehbi_fa_SN.csv
 +[osotolongo@detritus facehbi]$ awk -F";" '{print $1";"$2}' facehbi_dti_DMN.csv > facehbi_fa_DMN.csv
 +[osotolongo@detritus facehbi]$ awk -F";" '{print $1";"$2}' facehbi_dti_FPCustom.csv > facehbi_fa_FPCustom.csv
 +[osotolongo@detritus facehbi]$ join -t";" -j 1 facehbi_fa_DMN.csv facehbi_fa_LN.csv > tmp.csv; join -t";" -j 1 tmp.csv facehbi_fa_SN.csv > tmp2.csv; join -t";" -j 1 tmp2.csv facehbi_fa_FPCustom.csv > facehbi_fa.csv; rm tmp.csv tmp2.csv
 +[osotolongo@detritus facehbi]$ head facehbi_fa.csv 
 +Subject;DMN_FA;LN_FA;SN_FA;FPCustom_FA
 +001;;;;
 +002;;;;
 +003;;;;
 +004;0.295167;0.297783;0.283152;0.257377
 +005;0.335169;0.304239;0.326038;0.309156
 +006;0.306471;0.303277;0.295983;0.285556
 +007;0.335922;0.323048;0.346638;0.303487
 +008;0.293183;0.271857;0.279124;0.266333
 +009;0.343917;0.318176;0.329685;0.319478
 +[osotolongo@detritus facehbi]$ cp facehbi_fa.csv ~/facehbi/dti_model/
 +</code>
 +
 +voy a cambiar el script de R para que me de algo mas de info,
 +
 +<code R>
 +library(QuantPsyc)
 +x<-read.csv("facehbi_dti_np.csv")
 +Color=c("red","blue")
 +scan("npvars.names", what = character())->np
 +scan("nivars.names", what = character())->ni
 +sink(file = "facehbi_dti_np_models.txt", append = TRUE, type = "output", split = FALSE)
 +
 +for(i in 1:length(np)){
 +        for(j in 1:length(ni)){
 +                y.data <- x[c(ni[j], np[i], "female", "Edad", "Escolaridad", "SUVR")]
 +                y.data <- y.data[complete.cases(y.data),]
 +                a <- lm( paste ('y.data$', np[i], ' ~ y.data$', ni[j], ' + y.data$SUVR + y.data$female + y.data$Edad + y.data$Escolaridad'))
 +                writeLines(paste("NP: ", np[i], " NI: ", ni[j]))
 +                writeLines(paste("R2: ", summary(a)$adj.r.squared, " p-value: ", 1-pf(summary(a)$fstatistic[1], summary(a)$fstatistic[2], summary(a)$fstatistic[3])))
 +                writeLines(paste("p-value (", ni[j],"): ", summary(a)$coef[2,4], " p-value (SUVR): ", summary(a)$coef[3,4]))
 +                beta <- lm.beta(a)
 +                for(k in 1:length(beta)){
 +                        writeLines(paste(names(beta[k]), ": ", beta[k]))
 +                }
 +                writeLines(paste("-------"))
 +        }
 +}
 +sink()
 +</code>
 +y a probar con los composites de nuevo,
 +<code bash>
 +[osotolongo@detritus dti_model]$ cat nivars.names 
 +DMN_FA
 +LN_FA
 +SN_FA
 +FPCustom_FA
 +[osotolongo@detritus dti_model]$ cat npvars.names 
 +funcioExecutiva_fluencia
 +funcioExecutiva_velocprocess_IM
 +funcioExecutiva_atencio
 +memoria_fnameProf
 +memoria_fnameNom
 +memoria_wms
 +memoria_rbans
 +gnosia
 +praxia
 +llenguatge_denom_IM
 +</code>
 +Empiezo con el global,
 +<code R>
 +> fdti <- read.csv("facehbi_fa.csv", sep=";", header=TRUE)
 +> fdata <-read.csv("facehbi_data.csv", sep = ";", header=TRUE)
 +> fapoe <-read.csv("facehbi_apoe_strats.csv", sep = ";", header=TRUE)
 +> okdata <- merge(fdata, fapoe, by = "Subject")
 +> okdata <- merge(okdata, fdti, by = "Subject")
 +> write.csv(okdata, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 10 items
 +Read 4 items
 +</code>
 +movemos los resultados,
 +<code bash>
 +[osotolongo@detritus dti_model]$ mv facehbi_dti_np_models.txt facehbi_dti_np_models_all.txt
 +</code>
 +y ahora a estratificar,
 +<code R>
 +> okdata0 <- okdata[okdata$APOE == "0",]
 +> write.csv(okdata0, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 10 items
 +Read 4 items
 +</code>
 +<code bash>
 +[osotolongo@detritus dti_model]$ mv facehbi_dti_np_models.txt facehbi_dti_np_models_0.txt
 +</code>
 +<code R>
 +> okdata1 <- okdata[okdata$APOE == "1",]
 +> write.csv(okdata1, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 10 items
 +Read 4 items
 +</code>
 +<code bash>
 +[osotolongo@detritus dti_model]$ mv facehbi_dti_np_models.txt facehbi_dti_np_models_1.txt
 +</code>
 +<code R>
 +> okdata2 <- okdata[okdata$APOE == "2",]
 +> write.csv(okdata2, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 10 items
 +Read 4 items
 +</code>
 +<code bash>
 +[osotolongo@detritus dti_model]$ mv facehbi_dti_np_models.txt facehbi_dti_np_models_2.txt
 +</code>
 +y lo voy a guardar, por si acaso,
 +<code bash>
 +[osotolongo@detritus dti_model]$ tar czvf facehbi_dti_np_models.tgz facehbi_dti_np_models_*
 +facehbi_dti_np_models_0.txt
 +facehbi_dti_np_models_1.txt
 +facehbi_dti_np_models_2.txt
 +facehbi_dti_np_models_all.txt
 +</code>
 +
 +**Nota:** Estos hay que revisarlos despacio pues puede haber alguna asosiacion con el SUVR que hayamos pasado por alto.
 +
 +Ahora el otro composite,
 +<code R>
 +> fdata <-read.csv("facehbi_data_mb.csv", sep = ";", header=TRUE)
 +> okdata <- merge(okdata, fdata, by = "Subject")
 +> okdata$zPPp = (okdata$PPp - mean(okdata$PPp, na.rm = TRUE))/sd(okdata$PPp, na.rm = TRUE)
 +> okdata$zPPi = (okdata$PPi - mean(okdata$PPi, na.rm = TRUE))/sd(okdata$PPi, na.rm = TRUE)
 +> okdata$zKDi = (okdata$KDi - mean(okdata$KDi, na.rm = TRUE))/sd(okdata$KDi, na.rm = TRUE)
 +> okdata$zKDp = (okdata$KDp - mean(okdata$KDp, na.rm = TRUE))/sd(okdata$KDp, na.rm = TRUE)
 +> mb <- data.frame(okdata$zPPp, okdata$zPPi, okdata$zKDp, okdata$zKDi)
 +> okdata$cs <- mbsc$scores
 +</code>
 +<code bash>
 +[osotolongo@detritus dti_model]$ cat npvars.names
 +cs
 +</code>
 +<code R>
 +> write.csv(okdata, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 1 item
 +Read 4 items
 +</code>
 +y lo hago estratificado tambien, (moviendo los outputs como antes)
 +<code R>
 +> okdata0 <- okdata[okdata$APOE == "0",]
 +> write.csv(okdata0, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 1 item
 +Read 4 items
 +> okdata1 <- okdata[okdata$APOE == "1",]
 +> write.csv(okdata1, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 1 item
 +Read 4 items
 +> okdata2 <- okdata[okdata$APOE == "2",]
 +> write.csv(okdata2, file="facehbi_dti_np.csv")
 +> source("get_lms.r")
 +Read 1 item
 +Read 4 items
 +</code>
 +y aqui si no hay nada de nada.
 +Voy a hacerme un script para sacar cuando R2 es mayor que //0.3// por poner un numero,
 +<code perl checkr2.pl>
 +#!/usr/bin/perl
 +
 +use strict;
 +use warnings;
 +use Data::Dump qw(dump);
 +
 +my $ifile = "facehbi_dti_np_models_all.txt";
 +my $thresh = 0.3;
 +my %model;
 +open IDF, "<$ifile" or die "No such file\n";
 +while (<IDF>){
 +        if (/-------/ && $model{"r2"}>0.3) {
 +                print $model{"ni_var"}.",".$model{np_var}."\nr2 = ".$model{"r2"}.", p-value = ".$model{"pvalue"}."\npv_".$model{"ni_var"}." = ".$model{"pv_ni"}.", pv_SUVR = ".$model{pv_suvr}." \n";
 +        };
 +        if (/^NP:.*/) {($model{"np_var"}, $model{"ni_var"}) = /^NP:\s+(\w+)\s+NI:\s+(\w+)\s*$/};
 +        if (/^R2:.*/) {($model{"r2"}, $model{"pvalue"}) = /^R2:\s+(\S+)\s+p-value:\s+(\S+)/};
 +        if (/^p-value.*/) {($model{"pv_ni"}, $model{"pv_suvr"}) = /p-value.*:\s+(\S+)\s+p-value.*:\s+(\S+)/}
 +}
 +close IDF;
 +</code>
 +
 +Para todos,
 +
 +<code>
 +[osotolongo@detritus dti_model]$ ./checkr2.pl 
 +Analizing facehbi_dti_np_models_all.txt ...
 +
 +DMN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.302226155665606, p-value = 1.59872115546023e-14
 +pv_DMN_FA = 0.883576950793585, pv_SUVR = 0.24424229051191 
 +
 +LN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.302579788141454, p-value = 1.53210777398272e-14
 +pv_LN_FA = 0.731754149108559, pv_SUVR = 0.239811378742586 
 +
 +SN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.302699583800708, p-value = 1.50990331349021e-14
 +pv_SN_FA = 0.698477685239432, pv_SUVR = 0.241344996365449 
 +
 +FPCustom_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.303857285316447, p-value = 1.28785870856518e-14
 +pv_FPCustom_FA = 0.495322950618766, pv_SUVR = 0.229845691710707 
 +</code>
 +
 +//APOE 0//
 +
 +<code>
 +[osotolongo@detritus dti_model]$ ./checkr2.pl 
 +Analizing facehbi_dti_np_models_0.txt ...
 +
 +DMN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.379552223636583, p-value = 0.0057104958050207
 +pv_DMN_FA = 0.639790744923555, pv_SUVR = 0.0157173219667127 
 +
 +LN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.373746758451691, p-value = 0.00627788677009611
 +pv_LN_FA = 0.922726301726418, pv_SUVR = 0.0179719566898906 
 +
 +SN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.373504904382816, p-value = 0.00630256049240607
 +pv_SN_FA = 0.978604565669928, pv_SUVR = 0.0176943724392262 
 +
 +FPCustom_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.376679557258316, p-value = 0.00598535915763587
 +pv_FPCustom_FA = 0.734462972707933, pv_SUVR = 0.0164897973831555 
 +
 +DMN_FA, memoria_wms
 +r2 = 0.384900678414176, p-value = 0.00522814187347165
 +pv_DMN_FA = 0.971755525011924, pv_SUVR = 0.126202366929838 
 +
 +LN_FA, memoria_wms
 +r2 = 0.476189288707085, p-value = 0.000987730906959694
 +pv_LN_FA = 0.0571602758952463, pv_SUVR = 0.0786860000743259 
 +
 +SN_FA, memoria_wms
 +r2 = 0.4105573407532, p-value = 0.00337775223148928
 +pv_SN_FA = 0.327134537994976, pv_SUVR = 0.110122034640346 
 +
 +FPCustom_FA, memoria_wms
 +r2 = 0.38938771125582, p-value = 0.00485148460500173
 +pv_FPCustom_FA = 0.683663237630694, pv_SUVR = 0.141496294121895 
 +</code>
 +
 +//APOE 1// --> **nada**
 +
 +//APOE 2//
 +
 +<code>
 +[osotolongo@detritus dti_model]$ ./checkr2.pl 
 +Analizing facehbi_dti_np_models_2.txt ...
 +
 +DMN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.485798156550142, p-value = 2.68765592381648e-06
 +pv_DMN_FA = 0.00443564461139048, pv_SUVR = 0.00250803493024018 
 +
 +LN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.391142446695136, p-value = 7.40330891934038e-05
 +pv_LN_FA = 0.298247246087403, pv_SUVR = 0.00913580342963226 
 +
 +SN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.473679765360014, p-value = 4.26313995949279e-06
 +pv_SN_FA = 0.0075840881661726, pv_SUVR = 0.00315334075632377 
 +
 +FPCustom_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.420481875101633, p-value = 2.83138960435192e-05
 +pv_FPCustom_FA = 0.0767718841930776, pv_SUVR = 0.00977255081753087 
 +
 +DMN_FA, memoria_fnameProf
 +r2 = 0.327588088792215, p-value = 0.000497956057757376
 +pv_DMN_FA = 0.773974302319369, pv_SUVR = 0.788744944522824 
 +
 +LN_FA, memoria_fnameProf
 +r2 = 0.382914152316493, p-value = 9.60047895888216e-05
 +pv_LN_FA = 0.0561917139565343, pv_SUVR = 0.624162892962772 
 +
 +SN_FA, memoria_fnameProf
 +r2 = 0.327676768593875, p-value = 0.000496710477748463
 +pv_SN_FA = 0.76680425794751, pv_SUVR = 0.789799021308529 
 +
 +FPCustom_FA, memoria_fnameProf
 +r2 = 0.331099185559454, p-value = 0.000450805039077462
 +pv_FPCustom_FA = 0.584035234528739, pv_SUVR = 0.810357038625016 
 +
 +DMN_FA, memoria_fnameNom
 +r2 = 0.328367049483929, p-value = 0.000487113972439834
 +pv_DMN_FA = 0.898296424312723, pv_SUVR = 0.0560073342550184 
 +
 +LN_FA, memoria_fnameNom
 +r2 = 0.330867944990235, p-value = 0.000453777260227328
 +pv_LN_FA = 0.679077371093828, pv_SUVR = 0.0600344325872235 
 +
 +SN_FA, memoria_fnameNom
 +r2 = 0.331778400581458, p-value = 0.000442179712075386
 +pv_SN_FA = 0.633252108652689, pv_SUVR = 0.0601087607629487 
 +
 +FPCustom_FA, memoria_fnameNom
 +r2 = 0.334618953643581, p-value = 0.000407752047013266
 +pv_FPCustom_FA = 0.524784142484717, pv_SUVR = 0.0519653979539324 
 +
 +DMN_FA, memoria_wms
 +r2 = 0.30272247894919, p-value = 0.000989109715828107
 +pv_DMN_FA = 0.228059068988977, pv_SUVR = 0.472409952167858 
 +
 +</code>
 +
 +Voy a mirar un poco,
 +
 +<code R>
 +> m0 <- lm(okdata0$funcioExecutiva_velocprocess_IM ~ okdata0$SUVR + okdata0$Edad)
 +> summary(m0)
 +
 +Call:
 +lm(formula = okdata0$funcioExecutiva_velocprocess_IM ~ okdata0$SUVR + 
 +    okdata0$Edad)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-1.3337 -0.5111 -0.1135  0.3141  2.5369 
 +
 +Coefficients:
 +             Estimate Std. Error t value Pr(>|t|)   
 +(Intercept)   2.79206    3.21204   0.869  0.39267   
 +okdata0$SUVR -6.70012    2.41598  -2.773  0.01013 * 
 +okdata0$Edad  0.07533    0.02137   3.526  0.00159 **
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.9002 on 26 degrees of freedom
 +Multiple R-squared:  0.4416, Adjusted R-squared:  0.3987 
 +F-statistic: 10.28 on 2 and 26 DF,  p-value: 0.0005129
 +
 +> m1 <- lm(okdata1$funcioExecutiva_velocprocess_IM ~ okdata1$SUVR + okdata1$Edad)
 +> summary(m1)
 +
 +Call:
 +lm(formula = okdata1$funcioExecutiva_velocprocess_IM ~ okdata1$SUVR + 
 +    okdata1$Edad)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-1.2138 -0.5730 -0.1959  0.2146  4.7844 
 +
 +Coefficients:
 +              Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)  -4.200673   1.052358  -3.992 0.000114 ***
 +okdata1$SUVR  0.002109   0.780712   0.003 0.997849    
 +okdata1$Edad  0.063894   0.011991   5.328 4.82e-07 ***
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.8937 on 118 degrees of freedom
 +  (1 observation deleted due to missingness)
 +Multiple R-squared:  0.2052, Adjusted R-squared:  0.1918 
 +F-statistic: 15.24 on 2 and 118 DF,  p-value: 1.3e-06
 +
 +> m2 <- lm(okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$SUVR + okdata2$Edad)
 +> summary(m2)
 +
 +Call:
 +lm(formula = okdata2$funcioExecutiva_velocprocess_IM ~ okdata2$SUVR + 
 +    okdata2$Edad)
 +
 +Residuals:
 +     Min       1Q   Median       3Q      Max 
 +-1.74708 -0.28264 -0.07348  0.26384  2.76441 
 +
 +Coefficients:
 +             Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)  -4.49416    1.14875  -3.912   0.0003 ***
 +okdata2$SUVR  1.34940    0.54032   2.497   0.0161 *  
 +okdata2$Edad  0.04144    0.01738   2.384   0.0213 *  
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.8034 on 46 degrees of freedom
 +Multiple R-squared:  0.2749, Adjusted R-squared:  0.2434 
 +F-statistic: 8.719 on 2 and 46 DF,  p-value: 0.0006158
 +</code>
 +
 +
 +===== Riesgo - No riesgo =====
 +
 +Vamosaplantear el problema de manera distinta. Supongamos que la contribucion del APOE depende solo de la presencia del alelo $\epsilon$-4 y clasifiquemos los sujetos segun esto, en //con riesgo// o //sin riesgo//.
 +
 +<code R>
 +> okdata$Risk <- ifelse (okdata$APOE==2 , 1, 0)
 +</code>
 +
 +Pero ahora voy a hacer una cosa un poco mas complicada,
 +
 +<code R get_lms2.r>
 +library(QuantPsyc)
 +x<-read.csv("facehbi_dti_np.csv")
 +Color=c("red","blue")
 +scan("npvars.names", what = character())->np
 +scan("nivars.names", what = character())->ni
 +sink(file = "facehbi_dti_np_models.txt", append = TRUE, type = "output", split = FALSE)
 +
 +for(i in 1:length(np)){
 +        for(j in 1:length(ni)){
 +                y.data <- x[c(ni[j], np[i], "female", "Edad", "Escolaridad", "SUVR", "Risk")]
 +                y.data <- y.data[complete.cases(y.data),]
 +                a <- lm( paste ('y.data$', np[i], ' ~ y.data$', ni[j], ' + y.data$SUVR +y.data$Risk + y.data$female + y.data$Edad + y.data$Escolaridad + ', 'y.data$', ni[j], '*y.data$Risk'))
 +                writeLines(paste("NP: ", np[i], " NI: ", ni[j]))
 +                writeLines(paste("R2: ", summary(a)$adj.r.squared, " p-value: ", 1-pf(summary(a)$fstatistic[1], summary(a)$fstatistic[2], summary(a)$fstatistic[3])))
 +                writeLines(paste("p-value (", ni[j],"): ", summary(a)$coef[2,4], " p-value (SUVR): ", summary(a)$coef[3,4]))
 +                beta <- lm.beta(a)
 +                for(k in 1:length(beta)){
 +                        writeLines(paste(names(beta[k]), ": ", beta[k]))
 +                }
 +                writeLines(paste("-------"))
 +        }
 +}
 +sink()
 +</code>
 +
 +Asi que pruebo con el global,
 +
 +<code R>
 +> write.csv(okdata, file="facehbi_dti_np.csv")
 +> source("get_lms2.r")
 +</code>
 +
 +y luego,
 +
 +<code bash>
 +[osotolongo@detritus dti_model]$ ./checkr2.pl 
 +Analizing facehbi_dti_np_models.txt ...
 +
 +DMN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.312799089824939, p-value = 2.93098878501041e-14
 +pv_DMN_FA = 0.476462254461098, pv_SUVR = 0.179281559330912 
 +
 +SN_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.311504329049638, p-value = 3.47499806707674e-14
 +pv_SN_FA = 0.551975051522526, pv_SUVR = 0.181998130409768 
 +
 +FPCustom_FA, funcioExecutiva_velocprocess_IM
 +r2 = 0.311678871879767, p-value = 3.39728245535298e-14
 +pv_FPCustom_FA = 0.151421806156447, pv_SUVR = 0.201473541858229 
 +</code>
 +
 +puaf, a ver,
 +
 +<code R>
 +> m <- lm(okdata$funcioExecutiva_velocprocess_IM ~ okdata$SUVR + okdata$Edad + okdata$Escolaridad + okdata$female + okdata$DMN_FA*okdata$Risk)
 +> summary(m)
 +
 +Call:
 +lm(formula = okdata$funcioExecutiva_velocprocess_IM ~ okdata$SUVR + 
 +    okdata$Edad + okdata$Escolaridad + okdata$female + okdata$DMN_FA * 
 +    okdata$Risk)
 +
 +Residuals:
 +    Min      1Q  Median      3Q     Max 
 +-1.4094 -0.5672 -0.1264  0.3442  4.3680 
 +
 +Coefficients:
 +                           Estimate Std. Error t value Pr(>|t|)    
 +(Intercept)                -4.12971    1.33068  -3.103  0.00221 ** 
 +okdata$SUVR                 0.58201    0.43176   1.348  0.17928    
 +okdata$Edad                 0.05310    0.00865   6.139 4.82e-09 ***
 +okdata$Escolaridad         -0.04301    0.01362  -3.157  0.00186 ** 
 +okdata$female              -0.38688    0.13066  -2.961  0.00346 ** 
 +okdata$DMN_FA               2.24716    3.14978   0.713  0.47646    
 +okdata$Risk                 5.03080    2.38260   2.111  0.03605 *  
 +okdata$DMN_FA:okdata$Risk -15.70430    7.30118  -2.151  0.03276 *  
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +Residual standard error: 0.8286 on 188 degrees of freedom
 +  (4 observations deleted due to missingness)
 +Multiple R-squared:  0.3375, Adjusted R-squared:  0.3128 
 +F-statistic: 13.68 on 7 and 188 DF,  p-value: 2.936e-14
 +</code>
 +
 +No, gracias. :-\
  
neuroimagen/altdti.txt · Last modified: 2020/08/04 10:58 by 127.0.0.1