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 revision Previous revision
Next revision
Previous revision
neuroimagen:altdti [2019/03/15 09:53]
osotolongo [Composites]
neuroimagen:altdti [2020/08/04 10:58] (current)
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.1552643600.txt.gz · Last modified: 2020/08/04 10:46 (external edit)