setwd("~/Library/CloudStorage/GoogleDrive-icarounam@gmail.com/Mi unidad/UIS/Clases_prep/Alumnos/Prácticas/Práctica_1/A1")
# Método gravimétrico
grav<-read.table("grava1.csv", header=T, sep=",")
attach(grav)
fit1<-lm(porcentaje~conc)
summary(fit1)
## 
## Call:
## lm(formula = porcentaje ~ conc)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.3519 -3.7006  0.0583  2.7461 12.4489 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   11.092      1.772   6.259 7.84e-07 ***
## conc         -29.460      3.009  -9.790 1.07e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.7 on 29 degrees of freedom
## Multiple R-squared:  0.7677, Adjusted R-squared:  0.7597 
## F-statistic: 95.84 on 1 and 29 DF,  p-value: 1.066e-10
# La ecuación que describe la función es: % cambio en peso = (-29.460*Concentración de sacarosa) + (11.092)
layout(matrix(1:4,2,2))
plot(fit1)

shapiro.test(fit1$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  fit1$residuals
## W = 0.93806, p-value = 0.07295
## Hallando concentraciones de una solución hipertónica, isotónica e hipotónica
# Se usa la base de datos (grav) y se identifican los cambios de peso en los cuales los tuberculos de papa:
# tienen menor peso que el inicial (solución hipertónica), el peso no cambia (isotónica), o el peso es mayor que el inicial (hipotónica)
grav
##    conc rep peso.inicial peso.final porcentaje
## 1   0.0   1       1.5631     1.7824     14.030
## 2   0.1   1       1.5530     1.6785      8.081
## 3   0.3   1       1.5142     1.5646      3.328
## 4   0.4   1       1.3760     1.2378    -10.044
## 5   0.5   1       1.4770     1.2956    -12.282
## 6   0.9   1       1.5143     1.1794    -22.116
## 7   1.0   1       1.4517     1.1709    -19.343
## 8   0.0   2       1.4798     1.6448     11.150
## 9   0.1   2       1.4512     1.5924      9.730
## 10  0.3   2       1.5345     1.5684      2.209
## 11  0.4   2       1.5096     1.3815     -8.486
## 12  0.5   2       1.4178     1.2495    -11.871
## 13  0.7   2       1.5230     1.2651    -16.934
## 14  0.9   2       1.3768     1.0760    -21.848
## 15  1.0   2       1.5254     1.1389    -25.338
## 16  0.0   3       2.6995     3.0060     11.354
## 17  0.1   3       2.7910     3.1085     11.376
## 18  0.3   3       2.9746     3.1101      4.555
## 19  0.4   3       2.7488     2.8091      2.194
## 20  0.5   3       2.8844     2.8471     -1.293
## 21  0.7   3       2.6305     2.3615    -10.226
## 22  0.9   3       2.7219     2.4799     -8.891
## 23  1.0   3       2.8539     2.5712     -9.906
## 24  0.0   4       2.8023     3.1085     10.927
## 25  0.1   4       2.8969     3.1256      7.895
## 26  0.3   4       2.8314     2.9525      4.277
## 27  0.4   4       2.6442     2.9085      9.995
## 28  0.5   4       2.7726     2.7440     -1.032
## 29  0.7   4       2.9490     2.6498    -10.146
## 30  0.9   4       2.8715     2.5691    -10.531
## 31  1.0   4       2.7084     2.5481     -5.919
# Se elige la perdida de peso más negativa -25.34%, el no cambio de peso (0), y el mayor aumento de peso (14.03%)
# Los valores de peso se reemplazan en la ecuación hallada despejando la concentración de sacarosa
# Concentración de sacarosa = (% cambio en peso-11.092)/(-29.460)
# Aquí una solución automática usando R
sol<-c(-25.34,0,14.03)
X <- matrix(0, nrow = length(sol), ncol = 1)
for (i in 1:1) {
  Y <- (sol)
    X [,i] <- (((Y-11.092)/-29.460))
}
X
##             [,1]
## [1,]  1.23665988
## [2,]  0.37651052
## [3,] -0.09972845
# Los valores hallados de concentración para cada tipo de solución se reeplazan en la ecuación de Van't Hoff para hallar el potencial osmótico
# Ψs = -i RCT = -1*0.083*X*298
# Aquí una solución automática usando R
Ψs <- matrix(0, nrow = length(X), ncol = 1)
for (i in 1:1) {
  X <- (X)
  Ψs [,i] <- (-1*0.083*X*298)
}
Ψs
##            [,1]
## [1,] -30.587545
## [2,]  -9.312611
## [3,]   2.466683
# Los resultados estan en bares, las unidades más usadas son Mpa, se convierten, 1bar = 0.1 Mpa
Ψs <- Ψs/10
Ψs
##            [,1]
## [1,] -3.0587545
## [2,] -0.9312611
## [3,]  0.2466683
detach(grav)
# Método Vacuola
vac<-read.table("vacuola.csv", header=T, sep=",")
attach(vac)
fit1<-lm(porc_cel~conc)
summary(fit1)
## 
## Call:
## lm(formula = porc_cel ~ conc)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.017778 -0.014094  0.009591  0.012327  0.014854 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.014854   0.008209   -1.81    0.113    
## conc         0.563158   0.032115   17.54 4.83e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01533 on 7 degrees of freedom
## Multiple R-squared:  0.9777, Adjusted R-squared:  0.9746 
## F-statistic: 307.5 on 1 and 7 DF,  p-value: 4.83e-07
# La ecuación que describe la función es: % cel plasmolizadas = (0.563*Concentración de sacarosa) - (0.015)
layout(matrix(1:4,2,2))
plot(fit1)

shapiro.test(fit1$residuals) # los datos no son normales
## 
##  Shapiro-Wilk normality test
## 
## data:  fit1$residuals
## W = 0.78025, p-value = 0.01212
# Se transforman los datos haciendo uso de la función arcoseno
fit2<-lm(asen~conc)
summary(fit2)
## 
## Call:
## lm(formula = asen ~ conc)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.076580  0.003517  0.007421  0.009206  0.043937 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.07658    0.01944   3.939  0.00561 ** 
## conc         1.01051    0.07606  13.285  3.2e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.03632 on 7 degrees of freedom
## Multiple R-squared:  0.9619, Adjusted R-squared:  0.9564 
## F-statistic: 176.5 on 1 and 7 DF,  p-value: 3.203e-06
shapiro.test(fit2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  fit2$residuals
## W = 0.84659, p-value = 0.06833
plot(fit2)

shapiro.test(fit2$residuals) 
## 
##  Shapiro-Wilk normality test
## 
## data:  fit2$residuals
## W = 0.84659, p-value = 0.06833
# Los datos del modelo transformado son normales pero son cualitativamente (pendiente e intercepto significativos) similares a los datos sin transformar
# Para no tener que transformar los resultados a las unidades originales y debido a la poca cantidad de datos podemos seguir trabajando con los datos brutos

## Hallando la concentracion de una solución isotónica, % cel plasmolizadas = (0.563*Concentración de sacarosa) - (0.015)
# Se usa la base de datos (vac) y se identifica la concentración en la cual no hay células plasmolizadas, por lo tanto, igualamos la ecuación a cero y despejamos la concentración
# Concentración de sacarosa = arcoseno % cel plasmolizadas+0.015)/(0.563)
# Aquí una solución automática usando R

sol<-c(0)
X <- matrix(0, nrow = length(sol), ncol = 1)
for (i in 1:1) {
  Y <- (sol)
  X [,i] <- (((Y+0.015)/0.56))
}
X
##            [,1]
## [1,] 0.02678571
# Los valores hallados de concentración para cada tipo de solución se reeplazan en la ecuación de Van't Hoff para hallar el potencial osmótico
# Ψs = -i RCT = -1*0.083*X*298
# Aquí una solución automática usando R
Ψs <- matrix(0, nrow = length(X), ncol = 1)
for (i in 1:1) {
  X <- (X)
  Ψs [,i] <- (-1*0.083*X*298)
}
Ψs
##            [,1]
## [1,] -0.6625179
# Los resultados estan en bares, las unidades más usadas son Mpa, se convierten, 1bar = 0.1 Mpa
Ψs <- Ψs/10
Ψs
##             [,1]
## [1,] -0.06625179