###install.packages("Gifi")
###install.packages("MPsychoR")
###install.packages("mirt")
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.1
## Warning: package 'ggplot2' was built under R version 4.4.1
## Warning: package 'tibble' was built under R version 4.4.1
## Warning: package 'tidyr' was built under R version 4.4.1
## Warning: package 'readr' was built under R version 4.4.1
## Warning: package 'purrr' was built under R version 4.4.1
## Warning: package 'dplyr' was built under R version 4.4.1
## Warning: package 'stringr' was built under R version 4.4.1
## Warning: package 'forcats' was built under R version 4.4.1
## Warning: package 'lubridate' was built under R version 4.4.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(eRm)
## Warning: package 'eRm' was built under R version 4.4.1
library(infer)
## Warning: package 'infer' was built under R version 4.4.1
library(ggplot2)
library(car)
## Warning: package 'car' was built under R version 4.4.1
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.1
##
## Attaching package: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
library(Gifi)
## Warning: package 'Gifi' was built under R version 4.4.1
library(MPsychoR)
library(mirt)
## Warning: package 'mirt' was built under R version 4.4.1
## Loading required package: stats4
## Loading required package: lattice
##
## Attaching package: 'mirt'
##
## The following objects are masked from 'package:eRm':
##
## itemfit, personfit
retail_labels_clean <- read.csv("retail_labels_clean.csv")
retail_sub <- subset(retail_labels_clean, select = -c(ID, Position, Age, Gender, Marital))
summary(retail_sub)
## q01 q02 q03 q04 q05
## Min. :1.00 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.00 Median :2.000 Median :1.000 Median :1.000 Median :1.000
## Mean :1.35 Mean :1.669 Mean :1.275 Mean :1.163 Mean :1.161
## 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:1.000
## Max. :2.00 Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q06 q07 q08 q09
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :2.000 Median :2.000 Median :1.000
## Mean :1.432 Mean :1.548 Mean :1.575 Mean :1.369
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q10 q11 q12 q13
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :1.000 Median :2.000
## Mean :1.629 Mean :1.846 Mean :1.454 Mean :1.547
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q14 q15 q16 q17
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :1.000 Median :1.000 Median :1.000 Median :2.000
## Mean :1.401 Mean :1.198 Mean :1.425 Mean :1.842
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q18 q19 q20 q21
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :1.000 Median :1.000 Median :2.000 Median :2.000
## Mean :1.478 Mean :1.253 Mean :1.695 Mean :1.856
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q22 q23 q24 q25 q26
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.00
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:1.00
## Median :2.000 Median :1.000 Median :2.000 Median :2.000 Median :1.00
## Mean :1.525 Mean :1.333 Mean :1.523 Mean :1.863 Mean :1.48
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.00
## q27 q28 q29 q30
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000 Median :2.000
## Mean :1.093 Mean :1.377 Mean :1.466 Mean :1.742
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q31 q32 q33 q34
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000 Median :2.000
## Mean :1.055 Mean :1.153 Mean :1.126 Mean :1.666
## 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q35 q36 q37 q38
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :1.000 Median :2.000 Median :1.000 Median :2.000
## Mean :1.198 Mean :1.694 Mean :1.211 Mean :1.815
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q39 q40 q41 q42
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :1.000 Median :1.000 Median :1.000
## Mean :1.742 Mean :1.329 Mean :1.366 Mean :1.285
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q43 q44 q45 q46
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :1.000 Median :1.000
## Mean :1.854 Mean :1.694 Mean :1.213 Mean :1.296
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q47 q48 q49 q50
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :2.000 Median :1.000
## Mean :1.489 Mean :1.313 Mean :1.623 Mean :1.237
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:1.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q51 q52 q53 q54 q55
## Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.00 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.000
## Median :1.000 Median :1.00 Median :2.000 Median :1.00 Median :2.000
## Mean :1.207 Mean :1.27 Mean :1.516 Mean :1.29 Mean :1.728
## 3rd Qu.:1.000 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000
## Max. :2.000 Max. :2.00 Max. :2.000 Max. :2.00 Max. :2.000
## q56 q57 q58 q59
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000 Median :2.000
## Mean :1.246 Mean :1.402 Mean :1.347 Mean :1.603
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## q60
## Min. :1.000
## 1st Qu.:1.000
## Median :1.000
## Mean :1.457
## 3rd Qu.:2.000
## Max. :2.000
prinzar <- princals(retail_sub)
plot(prinzar, main = "Retail Salesperson Loadings")

### An item factor analysis test to determine if a 2-factor model is superior to a one-factor model. In this case, it is not.
fitifa1 <- mirt(retail_sub, 1, verbose = FALSE)
fitifa2 <- mirt(retail_sub, 2, verbose = FALSE, TOL = 0.001)
anova (fitifa1, fitifa2, verbose = FALSE)
## AIC SABIC HQ BIC logLik X2 df p
## fitifa1 341869.1 342269.8 342143.2 342651.1 -170814.5
## fitifa2 334032.8 334630.5 334441.6 335199.3 -166837.4 7954.327 59 0
### Note that when you run the Rasch Model in eRm you do not get the item difficulty parameter for the first item.
fitrasch1 <- RM(retail_sub)
## Warning:
## The following items have no 0-responses:
## q01 q02 q03 q04 q05 q06 q07 q08 q09 q10 q11 q12 q13 q14 q15 q16 q17 q18 q19 q20 q21 q22 q23 q24 q25 q26 q27 q28 q29 q30 q31 q32 q33 q34 q35 q36 q37 q38 q39 q40 q41 q42 q43 q44 q45 q46 q47 q48 q49 q50 q51 q52 q53 q54 q55 q56 q57 q58 q59 q60
## Responses are shifted such that lowest category is 0.
fitrasch1
##
## Results of RM estimation:
##
## Call: RM(X = retail_sub)
##
## Conditional log-likelihood: -159238.8
## Number of iterations: 21
## Number of parameters: 59
##
## Item (Category) Difficulty Parameters (eta):
## q02 q03 q04 q05 q06 q07
## Estimate -0.95859562 0.74562586 1.42121919 1.43612710 0.03760367 -0.43990586
## Std.Err 0.03015636 0.03167038 0.03812364 0.03831056 0.02864922 0.02854284
## q08 q09 q10 q11 q12 q13
## Estimate -0.55177162 0.30585511 -0.77850285 -1.97692039 -0.05236516 -0.43332127
## Std.Err 0.02873696 0.02937977 0.02938829 0.03909749 0.02851330 0.02853399
## q14 q15 q16 q17 q18 q19
## Estimate 0.16831095 1.17846060 0.06420157 -1.94451902 -0.15061755 0.85625377
## Std.Err 0.02894393 0.03536187 0.02869992 0.03867949 0.02842647 0.03247198
## q20 q21 q22 q23 q24 q25
## Estimate -1.0818503 -2.05705140 -0.3431384 0.4638737 -0.33496595 -2.115905
## Std.Err 0.0308134 0.04017345 0.0284421 0.0300427 0.02843642 0.041003
## q26 q27 q28 q29 q30 q31
## Estimate -0.15959773 2.06277327 0.26933208 -0.10320536 -1.32136361 2.63089029
## Std.Err 0.02842172 0.04820033 0.02925135 0.02846025 0.03240657 0.06119803
## q32 q33 q34 q35 q36 q37
## Estimate 1.49572963 1.7179645 -0.94572855 1.17591458 -1.07512271 1.09637490
## Std.Err 0.03907918 0.0422497 0.03009399 0.03533562 0.03077474 0.03454467
## q38 q39 q40 q41 q42 q43
## Estimate -1.75244994 -1.32136362 0.48313280 0.31810373 0.69129810 -2.04393128
## Std.Err 0.03639665 0.03240665 0.03013553 0.02942489 0.03131089 0.03999314
## q44 q45 q46 q47 q48 q49
## Estimate -1.07800382 1.08789141 0.63817411 -0.19630850 0.55861749 -0.75584661
## Std.Err 0.03079134 0.03446327 0.03098067 0.02840788 0.03052526 0.02930754
## q50 q51 q52 q53 q54 q55
## Estimate 0.94827938 1.12207348 0.77018940 -0.30801797 0.67050207 -1.2459344
## Std.Err 0.03321149 0.03479432 0.03184029 0.02842092 0.03117918 0.0318588
## q56 q57 q58 q59 q60
## Estimate 0.8940875 0.16322975 0.40320156 -0.66895362 -0.06796626
## Std.Err 0.0327679 0.02893028 0.02976737 0.02903009 0.02849516
### Beta is the easiness parameter; eta is the difficulty parameter. By running this command you get the easiness parameter for the 1st item.
round (fitrasch1$betapar, 2)
## beta q01 beta q02 beta q03 beta q04 beta q05 beta q06 beta q07 beta q08
## -0.39 0.96 -0.75 -1.42 -1.44 -0.04 0.44 0.55
## beta q09 beta q10 beta q11 beta q12 beta q13 beta q14 beta q15 beta q16
## -0.31 0.78 1.98 0.05 0.43 -0.17 -1.18 -0.06
## beta q17 beta q18 beta q19 beta q20 beta q21 beta q22 beta q23 beta q24
## 1.94 0.15 -0.86 1.08 2.06 0.34 -0.46 0.33
## beta q25 beta q26 beta q27 beta q28 beta q29 beta q30 beta q31 beta q32
## 2.12 0.16 -2.06 -0.27 0.10 1.32 -2.63 -1.50
## beta q33 beta q34 beta q35 beta q36 beta q37 beta q38 beta q39 beta q40
## -1.72 0.95 -1.18 1.08 -1.10 1.75 1.32 -0.48
## beta q41 beta q42 beta q43 beta q44 beta q45 beta q46 beta q47 beta q48
## -0.32 -0.69 2.04 1.08 -1.09 -0.64 0.20 -0.56
## beta q49 beta q50 beta q51 beta q52 beta q53 beta q54 beta q55 beta q56
## 0.76 -0.95 -1.12 -0.77 0.31 -0.67 1.25 -0.89
## beta q57 beta q58 beta q59 beta q60
## -0.16 -0.40 0.67 0.07
### By negating beta, you get eta, the difficulty parameter.Q31 was the easiest; now it is the most difficult.
round (sort (-fitrasch1$betapar), 2)
## beta q25 beta q21 beta q43 beta q11 beta q17 beta q38 beta q39 beta q30
## -2.12 -2.06 -2.04 -1.98 -1.94 -1.75 -1.32 -1.32
## beta q55 beta q20 beta q44 beta q36 beta q02 beta q34 beta q10 beta q49
## -1.25 -1.08 -1.08 -1.08 -0.96 -0.95 -0.78 -0.76
## beta q59 beta q08 beta q07 beta q13 beta q22 beta q24 beta q53 beta q47
## -0.67 -0.55 -0.44 -0.43 -0.34 -0.33 -0.31 -0.20
## beta q26 beta q18 beta q29 beta q60 beta q12 beta q06 beta q16 beta q57
## -0.16 -0.15 -0.10 -0.07 -0.05 0.04 0.06 0.16
## beta q14 beta q28 beta q09 beta q41 beta q01 beta q58 beta q23 beta q40
## 0.17 0.27 0.31 0.32 0.39 0.40 0.46 0.48
## beta q48 beta q46 beta q54 beta q42 beta q03 beta q52 beta q19 beta q56
## 0.56 0.64 0.67 0.69 0.75 0.77 0.86 0.89
## beta q50 beta q45 beta q37 beta q51 beta q35 beta q15 beta q04 beta q05
## 0.95 1.09 1.10 1.12 1.18 1.18 1.42 1.44
## beta q32 beta q33 beta q27 beta q31
## 1.50 1.72 2.06 2.63
### By negating beta, you get eta, the difficulty parameter. This confirms that; q31 is again the easiest.
round (sort (fitrasch1$betapar), 2)
## beta q31 beta q27 beta q33 beta q32 beta q05 beta q04 beta q15 beta q35
## -2.63 -2.06 -1.72 -1.50 -1.44 -1.42 -1.18 -1.18
## beta q51 beta q37 beta q45 beta q50 beta q56 beta q19 beta q52 beta q03
## -1.12 -1.10 -1.09 -0.95 -0.89 -0.86 -0.77 -0.75
## beta q42 beta q54 beta q46 beta q48 beta q40 beta q23 beta q58 beta q01
## -0.69 -0.67 -0.64 -0.56 -0.48 -0.46 -0.40 -0.39
## beta q41 beta q09 beta q28 beta q14 beta q57 beta q16 beta q06 beta q12
## -0.32 -0.31 -0.27 -0.17 -0.16 -0.06 -0.04 0.05
## beta q60 beta q29 beta q18 beta q26 beta q47 beta q53 beta q24 beta q22
## 0.07 0.10 0.15 0.16 0.20 0.31 0.33 0.34
## beta q13 beta q07 beta q08 beta q59 beta q49 beta q10 beta q34 beta q02
## 0.43 0.44 0.55 0.67 0.76 0.78 0.95 0.96
## beta q36 beta q44 beta q20 beta q55 beta q30 beta q39 beta q38 beta q17
## 1.08 1.08 1.08 1.25 1.32 1.32 1.75 1.94
## beta q11 beta q43 beta q21 beta q25
## 1.98 2.04 2.06 2.12
table <-table(retail_labels_clean$Position)
print(table)
##
## 1 2 3
## 126 2419 2455
### Test to see if theta is in the original .csv file. A visual check shows it is not.
write.csv(retail_labels_clean, file = "retail_labels_clean_theta1.csv")
### This is an eRm test to determine if the model is invariant across subgroups of the data. Apparently this test cannot be run with dichotomous data. It did not work for Marital or Gender.
age <- factor(retail_labels_clean$Age <=median(retail_labels_clean$Age),
labels = c("old", "young"))
fitLR <- LRtest(fitrasch1, age)
fitLR
##
## Andersen LR-test:
## LR-value: 893.364
## Chi-square df: 59
## p-value: 0
### A p-value <.o5 indicates a misfitting item. I pasted the table in Excel, sorted it, and found 41 of the 60 questions misfit the model. Unfortunately, this test does not indicate whether they overfit or underfit.
Waldtest (fitrasch1, age)
##
## Wald test on item level (z-values):
##
## z-statistic p-value
## beta q01 -1.658 0.097
## beta q02 4.294 0.000
## beta q03 -2.872 0.004
## beta q04 -2.455 0.014
## beta q05 -4.505 0.000
## beta q06 -3.604 0.000
## beta q07 3.767 0.000
## beta q08 4.234 0.000
## beta q09 -2.658 0.008
## beta q10 -1.183 0.237
## beta q11 0.903 0.367
## beta q12 1.424 0.154
## beta q13 0.828 0.408
## beta q14 0.605 0.545
## beta q15 -1.550 0.121
## beta q16 -1.360 0.174
## beta q17 3.327 0.001
## beta q18 -0.319 0.750
## beta q19 0.338 0.735
## beta q20 8.060 0.000
## beta q21 4.275 0.000
## beta q22 -1.961 0.050
## beta q23 -4.132 0.000
## beta q24 3.502 0.000
## beta q25 1.415 0.157
## beta q26 4.432 0.000
## beta q27 -6.080 0.000
## beta q28 12.843 0.000
## beta q29 2.651 0.008
## beta q30 -0.250 0.803
## beta q31 -1.317 0.188
## beta q32 -4.110 0.000
## beta q33 -2.068 0.039
## beta q34 1.363 0.173
## beta q35 -3.557 0.000
## beta q36 -4.389 0.000
## beta q37 1.046 0.296
## beta q38 3.399 0.001
## beta q39 2.921 0.003
## beta q40 -2.198 0.028
## beta q41 -3.561 0.000
## beta q42 -1.180 0.238
## beta q43 8.739 0.000
## beta q44 5.505 0.000
## beta q45 -2.488 0.013
## beta q46 -7.587 0.000
## beta q47 1.461 0.144
## beta q48 3.792 0.000
## beta q49 2.304 0.021
## beta q50 2.855 0.004
## beta q51 -3.257 0.001
## beta q52 -3.722 0.000
## beta q53 -2.977 0.003
## beta q54 -2.160 0.031
## beta q55 -3.551 0.000
## beta q56 -3.262 0.001
## beta q57 4.640 0.000
## beta q58 0.121 0.904
## beta q59 0.543 0.587
## beta q60 -4.907 0.000
### Because there are so many questions, the plot is illegible. If the cirdle falls outside the confidence interval, the question misfits the model.
plotGOF(fitLR,ctrline = list (col = "red"), conf = list())

###fitrasch2 <- RM(retail_sub[, -8, -10, -60])
###LRtest (fitrasch2, timecat)
###fitLR2 <- LRtest (fitrasch2, timecat)
###plotGOF(fitLR2,ctrline = list (col = "red"), conf = list())
###set.seed(123)
###T1 <-NPtest (as.matrix (zarsub[, -5]), n = 1000, method = "T1")
###T1
###T11 <- NPtest (as.matrix(zarsub[, -5]), n = 1000, method = "T11")
###T11
###round (sort(-fitrasch2$betapar), 2)
plotjointICC(fitrasch1, xlab = "Salesperson Trait",
main = "ICCs Salesperson Items")

retailppar <- person.parameter (fitrasch1)
### Another test to see if theta is in the original .csv file. A visual check shows it is not.
write.csv(retail_labels_clean, file = "retail_labels_clean_theta2.csv")
###theta by the categorical variable for the anova. How did this run when the lower case position is not defined anywhere?
###retail_labels_clean$theta <- retailppar$theta.table[,1]
###summary(aov(theta ~ (position), data = retail_labels_clean))
### Another test to see if theta is in the original .csv file. A visual check shows it is. Lines 172 - 173 are the lines of code that put theta in the original .csv file.
write.csv(retail_labels_clean, file = "retail_labels_clean_theta3.csv")
###theta by the categorical variable for the anova. This makes no sense b/c age is defined much differently than position. The numbers should not be the same.
retail_labels_clean$theta <- retailppar$theta.table[,1]
summary(aov(theta ~ (age), data = retail_labels_clean))
## Df Sum Sq Mean Sq F value Pr(>F)
## age 1 1.2 1.1660 6.44 0.0112 *
## Residuals 4998 904.9 0.1811
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
###Did the above code (lines 185 - 6 put theta in a second time? NO!
write.csv(retail_labels_clean, file = "retail_labels_clean_theta4.csv")
### I must have inserted this from Stephanie's code. It is not in Mair's code. His code stops w/ the anova.
table2 <-table(retail_labels_clean$theta)
print(table2)
##
## -3.44747588566253 -3.11980075143936 -2.85656621808688 -2.63416044131419
## 1 3 2 1
## -2.43977845405754 -2.26591822665424 -2.10774013307202 -1.9619024407679
## 6 4 1 4
## -1.82600276207099 -1.69826248678195 -1.57732826072416 -1.46214264792893
## 5 11 9 8
## -1.35185986776204 -1.24579021020521 -1.14336200050765 -1.04409387705323
## 20 24 39 54
## -0.947575160270132 -0.853450352632893 -0.761408109711786 -0.671172552486115
## 82 121 135 226
## -0.582496252482705 -0.495154817073304 -0.408942000052153 -0.323665942126303
## 275 353 398 433
## -0.239145877717765 -0.155209492355136 -0.0716909873100361 0.0115710816177732
## 431 466 424 365
## 0.0947361357359735 0.177963408268438 0.261414575538559 0.345256117173346
## 328 227 186 138
## 0.429661522288487 0.514813604794329 0.60090693528572 0.688150863261307
## 82 52 34 24
## 0.776773721751716 0.867027484607103 0.959193695014196 1.05359110720818
## 11 6 3 2
## 1.15058425226138 1.35411908026931 1.69230117719751 1.81719152747493
## 1 1 1 1
## 2.6122193783764 2.83268365690288
## 1 1