I have a dataset that different people recorded. Each recorder must have used their own way of recording the variable CO, so I want to check whether there is a significant difference between the different recorders. This way, I can check if I can trust the data or not. The CO measurements were all taken at 31 different points (not duplicates). Any idea about a test and code I can use for that? Thanks a lot!
Values below.
CO (%) | Recorder (Initial) |
1.56 | J |
0.52 | J |
1.56 | J |
1.56 | J |
3.12 | J |
8.32 | J |
4.68 | J |
9.36 | J |
56.16 | J |
73.32 | J |
1.04 | K |
2.6 | J |
8.32 | J |
5.2 | J |
4.16 | J |
2.08 | A |
2.6 | J |
6.76 | J |
15.6 | J |
0.52 | J |
7.28 | J |
7.8 | K |
3.64 | J |
22.36 | J |
17.68 | K |
0.52 | K |
4.16 | J |
3.12 | J |
3.12 | J |
2.08 | J |
13.52 | J |
I think @Ksharp had it right the first time - PROC GLM or NPAR1WAY. No need for a mixed model here. There are 31 experimental units (the measurements) where each received one of three treatments (J, K or A). This code tests for differences between recorders using PROC GLM:
proc glm data=yourdata;
class recorder;
model value=recorder;
means recorder/lsd lines hovtest; /* you may want to substitute tukey for lsd */
lsmeans recorder/pdiff;
run;
quit;
And this for the nonparametric analysis:
proc npar1way data=yourdata;
class recorder;
var value;
run;
This gives several different approaches, but the easiest to consider is the Kruskal-Wallis test. The global test is not significant, so no post hoc pairwise analysis is done.
Now for the caveats: Of the 31 observations, 26 are for recorder J, 4 are for recorder K and 1 is for recorder A. This imbalance makes comparisons difficult, especially with recorder A. Variability is essentially set by recorder J. None of the tests for difference are significant but this does NOT mean the recorders are equivalent. It may just mean that there is insufficient data to detect a real difference.
SteveDenham
I think @Ksharp had it right the first time - PROC GLM or NPAR1WAY. No need for a mixed model here. There are 31 experimental units (the measurements) where each received one of three treatments (J, K or A). This code tests for differences between recorders using PROC GLM:
proc glm data=yourdata;
class recorder;
model value=recorder;
means recorder/lsd lines hovtest; /* you may want to substitute tukey for lsd */
lsmeans recorder/pdiff;
run;
quit;
And this for the nonparametric analysis:
proc npar1way data=yourdata;
class recorder;
var value;
run;
This gives several different approaches, but the easiest to consider is the Kruskal-Wallis test. The global test is not significant, so no post hoc pairwise analysis is done.
Now for the caveats: Of the 31 observations, 26 are for recorder J, 4 are for recorder K and 1 is for recorder A. This imbalance makes comparisons difficult, especially with recorder A. Variability is essentially set by recorder J. None of the tests for difference are significant but this does NOT mean the recorders are equivalent. It may just mean that there is insufficient data to detect a real difference.
SteveDenham
Thank you so much for this well-thought answer. I appreciate it!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.