Logo

KAPPA_FLEISS

Updated 2023-11-06 14:45:08.267000

Syntax

SELECT [westclintech].[wct].[KAPPA_FLEISS](
  <@InputData_RangeQuery, nvarchar(max),>
 ,<@RV, nvarchar(4000),>
 ,<@Rating, sql_variant,>)

Description

Use the scalar function KAPPA_FLEISS to calculate Fleiss’ kappa (κ) as an index of inter-rater agreement between m raters on categorical data. KAPPA_FLEISS_TV also calculates the category-wise kappa and the corresponding test statistics. The equation for Fleiss’ kappa is

\kappa = \frac{P_i - P_j}{1-P_j}

Arguments

@RV

the value to be returned by the function. Use the following values:

{"columns":[{"field":"'K'"},{"field":"the kappa value"}],"rows":[{"'K'":"'SE'","the kappa value":"the standard error"},{"'K'":"'Z'","the kappa value":"the test statistic"},{"'K'":"'P'","the kappa value":"the p-value"},{"'K'":"'KJ'","the kappa value":"the kappa value for the jᵗʰ rating"},{"'K'":"'SEKJ'","the kappa value":"the standard error for the jᵗʰ rating"},{"'K'":"'ZKJ'","the kappa value":"the test statistic for the jᵗʰ rating"},{"'K'":"'PKJ'","the kappa value":"the p-value for the jᵗʰrating"}]}

@InputData_RangeQuery

a T-SQL statement, as a string, that specifies the subject, rater and rating values.

@Rating

the rating for which you want the value returned.

Return Type

float

Remarks

The function is insensitive to order; it does not matter what order the ratings are passed in.

Subjects, raters and ratings are automatically combined by the function.

Examples

In this example we calculate the K, SE, Z, as p-values across all ratings.

SELECT *

INTO #k

FROM

(

    SELECT ' Subject 01',

           'A',

           5

    UNION ALL

    SELECT ' Subject 01',

           'B',

           5

    UNION ALL

    SELECT ' Subject 01',

           'C',

           5

    UNION ALL

    SELECT ' Subject 01',

           'D',

           5

    UNION ALL

    SELECT ' Subject 01',

           'E',

           5

    UNION ALL

    SELECT ' Subject 01',

           'F',

           5

    UNION ALL

    SELECT ' Subject 01',

           'G',

           5

    UNION ALL

    SELECT ' Subject 01',

           'H',

           5

    UNION ALL

    SELECT ' Subject 01',

           'I',

           5

    UNION ALL

    SELECT ' Subject 01',

           'J',

           5

    UNION ALL

    SELECT ' Subject 01',

           'K',

           5

    UNION ALL

    SELECT ' Subject 01',

           'L',

           5

    UNION ALL

    SELECT ' Subject 01',

           'M',

           5

    UNION ALL

    SELECT ' Subject 01',

           'N',

           5

    UNION ALL

    SELECT ' Subject 02',

           'A',

           2

    UNION ALL

    SELECT ' Subject 02',

           'B',

           2

    UNION ALL

    SELECT ' Subject 02',

           'C',

           3

    UNION ALL

    SELECT ' Subject 02',

           'D',

           3

    UNION ALL

    SELECT ' Subject 02',

           'E',

           3

    UNION ALL

    SELECT ' Subject 02',

           'F',

           3

    UNION ALL

    SELECT ' Subject 02',

           'G',

           3

    UNION ALL

    SELECT ' Subject 02',

           'H',

           3

    UNION ALL

    SELECT ' Subject 02',

           'I',

           4

    UNION ALL

    SELECT ' Subject 02',

           'J',

           4

    UNION ALL

    SELECT ' Subject 02',

           'K',

           4

    UNION ALL

    SELECT ' Subject 02',

           'L',

           4

    UNION ALL

    SELECT ' Subject 02',

           'M',

           5

    UNION ALL

    SELECT ' Subject 02',

           'N',

           5

    UNION ALL

    SELECT ' Subject 03',

           'A',

           3

    UNION ALL

    SELECT ' Subject 03',

           'B',

           3

    UNION ALL

    SELECT ' Subject 03',

           'C',

           3

    UNION ALL

    SELECT ' Subject 03',

           'D',

           4

    UNION ALL

    SELECT ' Subject 03',

           'E',

           4

    UNION ALL

    SELECT ' Subject 03',

           'F',

           4

    UNION ALL

    SELECT ' Subject 03',

           'G',

           4

    UNION ALL

    SELECT ' Subject 03',

           'H',

           4

    UNION ALL

    SELECT ' Subject 03',

           'I',

           5

    UNION ALL

    SELECT ' Subject 03',

           'J',

           5

    UNION ALL

    SELECT ' Subject 03',

           'K',

           5

    UNION ALL

    SELECT ' Subject 03',

           'L',

           5

    UNION ALL

    SELECT ' Subject 03',

           'M',

           5

    UNION ALL

    SELECT ' Subject 03',

           'N',

           5

    UNION ALL

    SELECT ' Subject 04',

           'A',

           2

    UNION ALL

    SELECT ' Subject 04',

           'B',

           2

    UNION ALL

    SELECT ' Subject 04',

           'C',

           2

    UNION ALL

    SELECT ' Subject 04',

           'D',

           3

    UNION ALL

    SELECT ' Subject 04',

           'E',

           3

    UNION ALL

    SELECT ' Subject 04',

           'F',

           3

    UNION ALL

    SELECT ' Subject 04',

           'G',

           3

    UNION ALL

    SELECT ' Subject 04',

           'H',

           3

    UNION ALL

    SELECT ' Subject 04',

           'I',

           3

    UNION ALL

    SELECT ' Subject 04',

           'J',

           3

    UNION ALL

    SELECT ' Subject 04',

           'K',

           3

    UNION ALL

    SELECT ' Subject 04',

           'L',

           3

    UNION ALL

    SELECT ' Subject 04',

           'M',

           4

    UNION ALL

    SELECT ' Subject 04',

           'N',

           4

    UNION ALL

    SELECT ' Subject 05',

           'A',

           1

    UNION ALL

    SELECT ' Subject 05',

           'B',

           1

    UNION ALL

    SELECT ' Subject 05',

           'C',

           2

    UNION ALL

    SELECT ' Subject 05',

           'D',

           2

    UNION ALL

    SELECT ' Subject 05',

           'E',

           3

    UNION ALL

    SELECT ' Subject 05',

           'F',

           3

    UNION ALL

    SELECT ' Subject 05',

           'G',

           3

    UNION ALL

    SELECT ' Subject 05',

           'H',

           3

    UNION ALL

    SELECT ' Subject 05',

           'I',

           3

    UNION ALL

    SELECT ' Subject 05',

           'J',

           3

    UNION ALL

    SELECT ' Subject 05',

           'K',

           3

    UNION ALL

    SELECT ' Subject 05',

           'L',

           3

    UNION ALL

    SELECT ' Subject 05',

           'M',

           4

    UNION ALL

    SELECT ' Subject 05',

           'N',

           5

    UNION ALL

    SELECT ' Subject 06',

           'A',

           1

    UNION ALL

    SELECT ' Subject 06',

           'B',

           1

    UNION ALL

    SELECT ' Subject 06',

           'C',

           1

    UNION ALL

    SELECT ' Subject 06',

           'D',

           1

    UNION ALL

    SELECT ' Subject 06',

           'E',

           1

    UNION ALL

    SELECT ' Subject 06',

           'F',

           1

    UNION ALL

    SELECT ' Subject 06',

           'G',

           1

    UNION ALL

    SELECT ' Subject 06',

           'H',

           2

    UNION ALL

    SELECT ' Subject 06',

           'I',

           2

    UNION ALL

    SELECT ' Subject 06',

           'J',

           2

    UNION ALL

    SELECT ' Subject 06',

           'K',

           2

    UNION ALL

    SELECT ' Subject 06',

           'L',

           2

    UNION ALL

    SELECT ' Subject 06',

           'M',

           2

    UNION ALL

    SELECT ' Subject 06',

           'N',

           2

    UNION ALL

    SELECT ' Subject 07',

           'A',

           1

    UNION ALL

    SELECT ' Subject 07',

           'B',

           1

    UNION ALL

    SELECT ' Subject 07',

           'C',

           1

    UNION ALL

    SELECT ' Subject 07',

           'D',

           2

    UNION ALL

    SELECT ' Subject 07',

           'E',

           2

    UNION ALL

    SELECT ' Subject 07',

           'F',

           3

    UNION ALL

    SELECT ' Subject 07',

           'G',

           3

    UNION ALL

    SELECT ' Subject 07',

           'H',

           3

    UNION ALL

    SELECT ' Subject 07',

           'I',

           3

    UNION ALL

    SELECT ' Subject 07',

           'J',

           3

    UNION ALL

    SELECT ' Subject 07',

           'K',

           3

    UNION ALL

    SELECT ' Subject 07',

           'L',

           4

    UNION ALL

    SELECT ' Subject 07',

           'M',

           4

    UNION ALL

    SELECT ' Subject 07',

           'N',

           4

    UNION ALL

    SELECT ' Subject 08',

           'A',

           1

    UNION ALL

    SELECT ' Subject 08',

           'B',

           1

    UNION ALL

    SELECT ' Subject 08',

           'C',

           2

    UNION ALL

    SELECT ' Subject 08',

           'D',

           2

    UNION ALL

    SELECT ' Subject 08',

           'E',

           2

    UNION ALL

    SELECT ' Subject 08',

           'F',

           2

    UNION ALL

    SELECT ' Subject 08',

           'G',

           2

    UNION ALL

    SELECT ' Subject 08',

           'H',

           3

    UNION ALL

    SELECT ' Subject 08',

           'I',

           3

    UNION ALL

    SELECT ' Subject 08',

           'J',

           3

    UNION ALL

    SELECT ' Subject 08',

           'K',

           4

    UNION ALL

    SELECT ' Subject 08',

           'L',

           4

    UNION ALL

    SELECT ' Subject 08',

           'M',

           5

    UNION ALL

    SELECT ' Subject 08',

           'N',

           5

    UNION ALL

    SELECT ' Subject 09',

           'A',

           1

    UNION ALL

    SELECT ' Subject 09',

           'B',

           1

    UNION ALL

    SELECT ' Subject 09',

           'C',

           1

    UNION ALL

    SELECT ' Subject 09',

           'D',

           1

    UNION ALL

    SELECT ' Subject 09',

           'E',

           1

    UNION ALL

    SELECT ' Subject 09',

           'F',

           1

    UNION ALL

    SELECT ' Subject 09',

           'G',

           2

    UNION ALL

    SELECT ' Subject 09',

           'H',

           2

    UNION ALL

    SELECT ' Subject 09',

           'I',

           2

    UNION ALL

    SELECT ' Subject 09',

           'J',

           2

    UNION ALL

    SELECT ' Subject 09',

           'K',

           2

    UNION ALL

    SELECT ' Subject 09',

           'L',

           3

    UNION ALL

    SELECT ' Subject 09',

           'M',

           3

    UNION ALL

    SELECT ' Subject 09',

           'N',

           4

    UNION ALL

    SELECT ' Subject 10',

           'A',

           2

    UNION ALL

    SELECT ' Subject 10',

           'B',

           2

    UNION ALL

    SELECT ' Subject 10',

           'C',

           3

    UNION ALL

    SELECT ' Subject 10',

           'D',

           3

    UNION ALL

    SELECT ' Subject 10',

           'E',

           4

    UNION ALL

    SELECT ' Subject 10',

           'F',

           4

    UNION ALL

    SELECT ' Subject 10',

           'G',

           4

    UNION ALL

    SELECT ' Subject 10',

           'H',

           5

    UNION ALL

    SELECT ' Subject 10',

           'I',

           5

    UNION ALL

    SELECT ' Subject 10',

           'J',

           5

    UNION ALL

    SELECT ' Subject 10',

           'K',

           5

    UNION ALL

    SELECT ' Subject 10',

           'L',

           5

    UNION ALL

    SELECT ' Subject 10',

           'M',

           5

    UNION ALL

    SELECT ' Subject 10',

           'N',

           5

) n(subject, rater, rating);

SELECT p.stat,

       wct.KAPPA_FLEISS('SELECT subject, rater, rating FROM #k', p.stat, NULL) as 

                 stat_value

FROM

(

    SELECT 'K'

    UNION ALL

    SELECT 'SE'

    UNION ALL

    SELECT 'P'

    UNION ALL

    SELECT 'Z'

) p(stat);

DROP TABLE #k;

This produces the following result.

stat             stat_value
---- ----------------------
K         0.209930704421955
SE       0.0169650692243931
P      3.60059432346663E-35
Z          12.3742910591905

In this example we calculate the K, Z, as p-values for each rating.

SELECT *

INTO #k

FROM

(

    SELECT ' Subject 01',

           'A',

           5

    UNION ALL

    SELECT ' Subject 01',

           'B',

           5

    UNION ALL

    SELECT ' Subject 01',

           'C',

           5

    UNION ALL

    SELECT ' Subject 01',

           'D',

           5

    UNION ALL

    SELECT ' Subject 01',

           'E',

           5

    UNION ALL

    SELECT ' Subject 01',

           'F',

           5

    UNION ALL

    SELECT ' Subject 01',

           'G',

           5

    UNION ALL

    SELECT ' Subject 01',

           'H',

           5

    UNION ALL

    SELECT ' Subject 01',

           'I',

           5

    UNION ALL

    SELECT ' Subject 01',

           'J',

           5

    UNION ALL

    SELECT ' Subject 01',

           'K',

           5

    UNION ALL

    SELECT ' Subject 01',

           'L',

           5

    UNION ALL

    SELECT ' Subject 01',

           'M',

           5

    UNION ALL

    SELECT ' Subject 01',

           'N',

           5

    UNION ALL

    SELECT ' Subject 02',

           'A',

           2

    UNION ALL

    SELECT ' Subject 02',

           'B',

           2

    UNION ALL

    SELECT ' Subject 02',

           'C',

           3

    UNION ALL

    SELECT ' Subject 02',

           'D',

           3

    UNION ALL

    SELECT ' Subject 02',

           'E',

           3

    UNION ALL

    SELECT ' Subject 02',

           'F',

           3

    UNION ALL

    SELECT ' Subject 02',

           'G',

           3

    UNION ALL

    SELECT ' Subject 02',

           'H',

           3

    UNION ALL

    SELECT ' Subject 02',

           'I',

           4

    UNION ALL

    SELECT ' Subject 02',

           'J',

           4

    UNION ALL

    SELECT ' Subject 02',

           'K',

           4

    UNION ALL

    SELECT ' Subject 02',

           'L',

           4

    UNION ALL

    SELECT ' Subject 02',

           'M',

           5

    UNION ALL

    SELECT ' Subject 02',

           'N',

           5

    UNION ALL

    SELECT ' Subject 03',

           'A',

           3

    UNION ALL

    SELECT ' Subject 03',

           'B',

           3

    UNION ALL

    SELECT ' Subject 03',

           'C',

           3

    UNION ALL

    SELECT ' Subject 03',

           'D',

           4

    UNION ALL

    SELECT ' Subject 03',

           'E',

           4

    UNION ALL

    SELECT ' Subject 03',

           'F',

           4

    UNION ALL

    SELECT ' Subject 03',

           'G',

           4

    UNION ALL

    SELECT ' Subject 03',

           'H',

           4

    UNION ALL

    SELECT ' Subject 03',

           'I',

           5

    UNION ALL

    SELECT ' Subject 03',

           'J',

           5

    UNION ALL

    SELECT ' Subject 03',

           'K',

           5

    UNION ALL

    SELECT ' Subject 03',

           'L',

           5

    UNION ALL

    SELECT ' Subject 03',

           'M',

           5

    UNION ALL

    SELECT ' Subject 03',

           'N',

           5

    UNION ALL

    SELECT ' Subject 04',

           'A',

           2

    UNION ALL

    SELECT ' Subject 04',

           'B',

           2

    UNION ALL

    SELECT ' Subject 04',

           'C',

           2

    UNION ALL

    SELECT ' Subject 04',

           'D',

           3

    UNION ALL

    SELECT ' Subject 04',

           'E',

           3

    UNION ALL

    SELECT ' Subject 04',

           'F',

           3

    UNION ALL

    SELECT ' Subject 04',

           'G',

           3

    UNION ALL

    SELECT ' Subject 04',

           'H',

           3

    UNION ALL

    SELECT ' Subject 04',

           'I',

           3

    UNION ALL

    SELECT ' Subject 04',

           'J',

           3

    UNION ALL

    SELECT ' Subject 04',

           'K',

           3

    UNION ALL

    SELECT ' Subject 04',

           'L',

           3

    UNION ALL

    SELECT ' Subject 04',

           'M',

           4

    UNION ALL

    SELECT ' Subject 04',

           'N',

           4

    UNION ALL

    SELECT ' Subject 05',

           'A',

           1

    UNION ALL

    SELECT ' Subject 05',

           'B',

           1

    UNION ALL

    SELECT ' Subject 05',

           'C',

           2

    UNION ALL

    SELECT ' Subject 05',

           'D',

           2

    UNION ALL

    SELECT ' Subject 05',

           'E',

           3

    UNION ALL

    SELECT ' Subject 05',

           'F',

           3

    UNION ALL

    SELECT ' Subject 05',

           'G',

           3

    UNION ALL

    SELECT ' Subject 05',

           'H',

           3

    UNION ALL

    SELECT ' Subject 05',

           'I',

           3

    UNION ALL

    SELECT ' Subject 05',

           'J',

           3

    UNION ALL

    SELECT ' Subject 05',

           'K',

           3

    UNION ALL

    SELECT ' Subject 05',

           'L',

           3

    UNION ALL

    SELECT ' Subject 05',

           'M',

           4

    UNION ALL

    SELECT ' Subject 05',

           'N',

           5

    UNION ALL

    SELECT ' Subject 06',

           'A',

           1

    UNION ALL

    SELECT ' Subject 06',

           'B',

           1

    UNION ALL

    SELECT ' Subject 06',

           'C',

           1

    UNION ALL

    SELECT ' Subject 06',

           'D',

           1

    UNION ALL

    SELECT ' Subject 06',

           'E',

           1

    UNION ALL

    SELECT ' Subject 06',

           'F',

           1

    UNION ALL

    SELECT ' Subject 06',

           'G',

           1

    UNION ALL

    SELECT ' Subject 06',

           'H',

           2

    UNION ALL

    SELECT ' Subject 06',

           'I',

           2

    UNION ALL

    SELECT ' Subject 06',

           'J',

           2

    UNION ALL

    SELECT ' Subject 06',

           'K',

           2

    UNION ALL

    SELECT ' Subject 06',

           'L',

           2

    UNION ALL

    SELECT ' Subject 06',

           'M',

           2

    UNION ALL

    SELECT ' Subject 06',

           'N',

           2

    UNION ALL

    SELECT ' Subject 07',

           'A',

           1

    UNION ALL

    SELECT ' Subject 07',

           'B',

           1

    UNION ALL

    SELECT ' Subject 07',

           'C',

           1

    UNION ALL

    SELECT ' Subject 07',

           'D',

           2

    UNION ALL

    SELECT ' Subject 07',

           'E',

           2

    UNION ALL

    SELECT ' Subject 07',

           'F',

           3

    UNION ALL

    SELECT ' Subject 07',

           'G',

           3

    UNION ALL

    SELECT ' Subject 07',

           'H',

           3

    UNION ALL

    SELECT ' Subject 07',

           'I',

           3

    UNION ALL

    SELECT ' Subject 07',

           'J',

           3

    UNION ALL

    SELECT ' Subject 07',

           'K',

           3

    UNION ALL

    SELECT ' Subject 07',

           'L',

           4

    UNION ALL

    SELECT ' Subject 07',

           'M',

           4

    UNION ALL

    SELECT ' Subject 07',

           'N',

           4

    UNION ALL

    SELECT ' Subject 08',

           'A',

           1

    UNION ALL

    SELECT ' Subject 08',

           'B',

           1

    UNION ALL

    SELECT ' Subject 08',

           'C',

           2

    UNION ALL

    SELECT ' Subject 08',

           'D',

           2

    UNION ALL

    SELECT ' Subject 08',

           'E',

           2

    UNION ALL

    SELECT ' Subject 08',

           'F',

           2

    UNION ALL

    SELECT ' Subject 08',

           'G',

           2

    UNION ALL

    SELECT ' Subject 08',

           'H',

           3

    UNION ALL

    SELECT ' Subject 08',

           'I',

           3

    UNION ALL

    SELECT ' Subject 08',

           'J',

           3

    UNION ALL

    SELECT ' Subject 08',

           'K',

           4

    UNION ALL

    SELECT ' Subject 08',

           'L',

           4

    UNION ALL

    SELECT ' Subject 08',

           'M',

           5

    UNION ALL

    SELECT ' Subject 08',

           'N',

           5

    UNION ALL

    SELECT ' Subject 09',

           'A',

           1

    UNION ALL

    SELECT ' Subject 09',

           'B',

           1

    UNION ALL

    SELECT ' Subject 09',

           'C',

           1

    UNION ALL

    SELECT ' Subject 09',

           'D',

           1

    UNION ALL

    SELECT ' Subject 09',

           'E',

           1

    UNION ALL

    SELECT ' Subject 09',

           'F',

           1

    UNION ALL

    SELECT ' Subject 09',

           'G',

           2

    UNION ALL

    SELECT ' Subject 09',

           'H',

           2

    UNION ALL

    SELECT ' Subject 09',

           'I',

           2

    UNION ALL

    SELECT ' Subject 09',

           'J',

           2

    UNION ALL

    SELECT ' Subject 09',

           'K',

           2

    UNION ALL

    SELECT ' Subject 09',

           'L',

           3

    UNION ALL

    SELECT ' Subject 09',

           'M',

           3

    UNION ALL

    SELECT ' Subject 09',

           'N',

           4

    UNION ALL

    SELECT ' Subject 10',

           'A',

           2

    UNION ALL

    SELECT ' Subject 10',

           'B',

           2

    UNION ALL

    SELECT ' Subject 10',

           'C',

           3

    UNION ALL

    SELECT ' Subject 10',

           'D',

           3

    UNION ALL

    SELECT ' Subject 10',

           'E',

           4

    UNION ALL

    SELECT ' Subject 10',

           'F',

           4

    UNION ALL

    SELECT ' Subject 10',

           'G',

           4

    UNION ALL

    SELECT ' Subject 10',

           'H',

           5

    UNION ALL

    SELECT ' Subject 10',

           'I',

           5

    UNION ALL

    SELECT ' Subject 10',

           'J',

           5

    UNION ALL

    SELECT ' Subject 10',

           'K',

           5

    UNION ALL

    SELECT ' Subject 10',

           'L',

           5

    UNION ALL

    SELECT ' Subject 10',

           'M',

           5

    UNION ALL

    SELECT ' Subject 10',

           'N',

           5

) n(subject, rater, rating);

SELECT r.rating,

       p.stat,

       wct.KAPPA_FLEISS('SELECT subject, rater, rating FROM #k', p.stat, r.rating)

                 as stat_value

FROM

(SELECT 'KJ' UNION ALL SELECT 'PKJ' UNION ALL SELECT 'ZKJ') p(stat)

    CROSS APPLY

(SELECT DISTINCT rating FROM #k) r(rating)

ORDER BY 2,

         1;

DROP TABLE #k;

This produces the following result.

     rating stat             stat_value
----------- ---- ----------------------
          1 KJ        0.201282051282051
          2 KJ       0.0796703296703298
          3 KJ        0.171597633136095
          4 KJ       0.0303813833225598
          5 KJ        0.507656695156695
          1 PKJ    1.26393144622578E-09
          2 PKJ      0.0162455593601469
          3 PKJ    2.26148113389763E-07
          4 PKJ       0.359409386074102
          5 PKJ    6.15802423732574E-53
          1 ZKJ        6.07191587500703
          2 ZKJ        2.40335159747776
          3 ZKJ        5.17644959456748
          4 ZKJ         0.9164910757116
          5 ZKJ        15.3140765743498