A seconda della dimensione dell’oggetto la variabilita potenziale di PGA cambia a causa dei vincoli biomeccanici della mano: Quando la Size dell’oggetto e’ piccola la variabilita’ potenziale di PGA sara’ alta, quando la Size e’ grande viceversa. A causa di questo, non credo sia corretto analizzare la dispersione di PGA nelle diverse Size utilizzando SD.
Occorre utilizzare una misura che tiene di conto della spazio di variazione potenziale. Una di queste miosure è il coefficente di variabilità (CV), dato dal rapporto sd/mean
Poniamo di avere due vettori:
a<- c(1,2,3,4,5)
b<- c(10,20,30,40,50)
la standard deviation sara diversa:
sd(a)
## [1] 1.581139
sd(b)
## [1] 15.81139
Utilizzando il CV invece no:
sd(a)/mean(a)
## [1] 0.5270463
sd(b)/mean(b)
## [1] 0.5270463
Utilizzando la CV esame la legge di Weber utilizzando:
library(effects)
## Warning: package 'effects' was built under R version 4.1.2
## Loading required package: carData
## lattice theme set by effectsTheme()
## See ?effectsTheme for details.
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.6 ✓ dplyr 1.0.7
## ✓ tidyr 1.1.4 ✓ stringr 1.4.0
## ✓ readr 2.0.2 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
dati <- read.csv("~/Desktop/ciccio.csv")
dati$SM<- dati$MGA - dati$WIDTH
new<- dati %>% group_by(WIDTH) %>%
summarise(mean = mean(SM, na.rm = TRUE),
sd = sd(SM, na.rm = TRUE),
CV = sd/mean)
new
## # A tibble: 6 × 4
## WIDTH mean sd CV
## <int> <dbl> <dbl> <dbl>
## 1 40 48.5 12.8 0.264
## 2 50 45.8 12.3 0.269
## 3 60 41.3 9.82 0.238
## 4 70 37.7 10.5 0.278
## 5 80 33.7 9.86 0.292
## 6 90 27.6 9.69 0.351
fm <- lm(CV ~ WIDTH, new)
summary(fm)
##
## Call:
## lm(formula = CV ~ WIDTH, data = new)
##
## Residuals:
## 1 2 3 4 5 6
## 0.02113 0.01016 -0.03657 -0.01164 -0.01330 0.03022
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.1813046 0.0448159 4.046 0.0155 *
## WIDTH 0.0015513 0.0006668 2.326 0.0806 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0279 on 4 degrees of freedom
## Multiple R-squared: 0.575, Adjusted R-squared: 0.4688
## F-statistic: 5.412 on 1 and 4 DF, p-value: 0.08057
plot(allEffects(fm))
#IVAN (All Conditions)
dati2 <- read.csv("~/Desktop/ivan.csv")
dati2$SM<- dati2$PeakGripAperture - dati2$Size
new2<- dati2 %>% group_by(Size) %>%
summarise(mean = mean(SM, na.rm = TRUE),
sd = sd(SM, na.rm = TRUE),
CV = sd/mean)
new2
## # A tibble: 5 × 4
## Size mean sd CV
## <int> <dbl> <dbl> <dbl>
## 1 30 40.9 13.1 0.321
## 2 40 37.9 12.6 0.332
## 3 50 35.5 12.1 0.341
## 4 60 32.0 11.2 0.351
## 5 70 28.2 10.9 0.385
fm2 <- lm(CV ~ Size, new2)
summary(fm2)
##
## Call:
## lm(formula = CV ~ Size, data = new2)
##
## Residuals:
## 1 2 3 4 5
## 0.0045742 0.0005966 -0.0049404 -0.0102060 0.0099755
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.2727834 0.0149808 18.209 0.000361 ***
## Size 0.0014671 0.0002883 5.089 0.014667 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.009117 on 3 degrees of freedom
## Multiple R-squared: 0.8962, Adjusted R-squared: 0.8616
## F-statistic: 25.89 on 1 and 3 DF, p-value: 0.01467
plot(allEffects(fm2))
##
## Call:
## lm(formula = CV ~ Size, data = new3)
##
## Residuals:
## 1 2 3 4 5
## 0.003396 0.006708 -0.011780 -0.010148 0.011824
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.2912812 0.0198565 14.669 0.000687 ***
## Size 0.0013522 0.0003821 3.539 0.038402 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01208 on 3 degrees of freedom
## Multiple R-squared: 0.8067, Adjusted R-squared: 0.7423
## F-statistic: 12.52 on 1 and 3 DF, p-value: 0.0384
dati3 <- read.csv("~/Desktop/ivan.csv")
dati3$SM<- dati3$PeakGripAperture - dati3$Size
dati4 <- subset(dati3, Condition == "V")
new3<- dati4 %>% group_by(Size) %>%
summarise(mean = mean(SM, na.rm = TRUE),
sd = sd(SM, na.rm = TRUE),
CV = sd/mean)
fm3 <- lm(CV ~ Size, new3)
summary(fm3)
##
## Call:
## lm(formula = CV ~ Size, data = new3)
##
## Residuals:
## 1 2 3 4 5
## -0.003092 0.010440 -0.007657 -0.003636 0.003945
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.226058 0.013615 16.604 0.000476 ***
## Size 0.001936 0.000262 7.387 0.005130 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.008286 on 3 degrees of freedom
## Multiple R-squared: 0.9479, Adjusted R-squared: 0.9305
## F-statistic: 54.57 on 1 and 3 DF, p-value: 0.00513
plot(allEffects(fm3))
dati3 <- read.csv("~/Desktop/ivan.csv")
dati3$SM<- dati3$PeakGripAperture - dati3$Size
dati4 <- subset(dati3, Condition == "H")
new3<- dati4 %>% group_by(Size) %>%
summarise(mean = mean(SM, na.rm = TRUE),
sd = sd(SM, na.rm = TRUE),
CV = sd/mean)
fm3 <- lm(CV ~ Size, new3)
summary(fm3)
##
## Call:
## lm(formula = CV ~ Size, data = new3)
##
## Residuals:
## 1 2 3 4 5
## -0.004433 0.010452 -0.004993 -0.003641 0.002614
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.1468660 0.0125107 11.74 0.00133 **
## Size 0.0025405 0.0002408 10.55 0.00182 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.007614 on 3 degrees of freedom
## Multiple R-squared: 0.9738, Adjusted R-squared: 0.965
## F-statistic: 111.3 on 1 and 3 DF, p-value: 0.001818
plot(allEffects(fm3))