Razionale

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:

  1. Dati McInstosh (set w2*)
  2. dati di Ivan Integration of haptics and vision in human multisensory grasping

McIntosh

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 (tutte le condizioni insieme)

#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))

IVAN (VH)

## 
## 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

IVAN (V)

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))

IVAN (H)

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))