geeglm()
命令通过 GEE 拟合逻辑回归模型,打算合并非结构化相关矩阵来捕获参与者内的相关性(对于具有两只合格眼睛的受试者)。但是,每当我尝试将相关结构指定为非结构化时,我都会遇到错误。相反,当我将
corstr
参数设置为“可交换”时,代码运行没有问题。由于簇大小最多为 2,因此可交换相关结构和非结构化相关结构都应该产生相同的结果,只需要估计一个 alpha。因此,我很困惑为什么一个有效而另一个无效。请看下面的例子:
library(tidyverse)
library(geepack)
example <- structure(list(patient = structure(c(1L, 2L, 2L, 3L, 4L, 5L,
5L, 6L, 7L, 8L, 8L, 9L, 10L, 11L, 12L, 12L, 13L, 14L, 15L, 15L,
16L, 16L, 17L, 18L, 19L, 20L, 20L, 21L, 21L, 22L, 23L, 24L, 24L,
25L, 26L, 26L, 27L, 28L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L,
35L, 36L, 37L, 38L, 38L, 39L, 39L, 40L, 41L, 41L, 42L, 43L, 43L,
44L), .Label = c("1", "2", "3", "4", "5", "6", "9", "11", "12",
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "25",
"27", "28", "29", "30", "31", "32", "35", "36", "37", "38", "39",
"40", "42", "45", "47", "48", "49", "50", "51", "52", "53", "54",
"55", "56", "57", "59", "61", "62", "63", "64", "65", "66", "67",
"68", "69", "70", "71", "72", "74", "75", "76", "78", "80", "81",
"82", "83", "86", "87", "89", "90", "91", "92", "93", "94", "95",
"99", "100", "101", "102", "103", "104", "105", "107", "108",
"109", "110", "111", "113", "114", "116", "117", "118", "120",
"122", "123", "124", "125", "128", "129", "130", "131", "133",
"134", "136", "137", "139", "140", "141", "143", "144", "145",
"146", "150", "153", "154", "155", "157", "158", "159", "160",
"161", "163", "164", "165", "166", "167", "168", "169", "170",
"173", "174", "175", "176", "177", "178", "181", "182", "183",
"185", "190", "192", "193", "195", "196", "198", "199", "200",
"201", "202", "203", "204", "205", "206", "207", "208", "209",
"210", "212", "213", "214", "215", "216", "217", "218", "219",
"220", "221", "224", "225", "229", "230", "231", "233", "234",
"235", "236", "237", "238", "239", "241", "242", "243", "244",
"245", "246", "247", "249", "251", "252", "253", "254", "255",
"256", "257", "258", "260", "261", "262", "264", "266", "267",
"268", "269", "270", "271", "272", "273", "274", "275", "276",
"277", "278", "281", "282", "284", "285", "287", "288", "289",
"290", "291", "292", "296", "297", "298", "299", "300", "301",
"302", "304", "305", "307", "309", "310", "312", "313", "318",
"320", "322", "323", "324", "325", "326", "327", "330", "331",
"334", "335", "336", "337", "338", "343", "344", "345", "346",
"347", "348", "351", "353", "356", "358", "359", "362", "363",
"364", "365", "366", "367", "368", "370", "371", "373", "375",
"376", "377", "380", "381", "382", "383", "384", "385", "386",
"387", "388", "389", "390", "392", "393", "395", "396", "398",
"402", "403", "404", "406", "407", "408", "409", "411", "412",
"413", "414", "416", "417", "422", "423", "424", "425", "426",
"427", "428", "430", "433", "434", "435", "436", "437", "439",
"440", "441", "442", "443", "444", "445", "446", "447", "449",
"451", "452", "453", "454", "457", "461", "465", "467", "468",
"469", "471", "472", "473", "476", "479", "480", "484", "485",
"486", "490", "493", "494", "500", "503", "507", "511", "514",
"515", "516", "517", "518", "525", "526", "527", "530", "536",
"537", "540", "541", "542", "543", "544", "548", "549", "553",
"560", "562", "563", "564", "565", "569", "570", "575", "576",
"580", "581", "582", "583", "584", "587", "588", "589", "590",
"593", "595", "597", "598", "601", "604", "609", "613", "614",
"623", "624", "629", "630", "632", "633", "634", "635", "636",
"637", "639", "640", "641", "642", "643", "644", "645", "646",
"648", "650", "653", "654", "657", "659", "660", "661", "665",
"669", "670", "671", "674", "675", "677", "679", "680", "683",
"684", "690", "691", "692", "693", "694", "699", "703", "705",
"706", "707", "708", "709", "710", "711", "712", "713", "714",
"716", "720", "721", "722", "726", "727", "729", "731", "733",
"734", "736", "737", "741", "743", "745", "747", "748", "749",
"751", "753", "754", "755", "756", "758", "759", "760", "761",
"763", "764", "765", "768", "769", "770", "773", "775", "776",
"777", "778", "779", "780", "782", "783", "784", "786", "787",
"788", "789", "793", "794", "796", "797", "798", "799", "801",
"803", "804", "805", "807", "808", "809", "810", "811", "813",
"814", "817", "818", "821", "822", "823", "824", "825", "826",
"827", "828", "830", "833", "834", "835", "838", "841", "842",
"845", "846", "847", "848", "851", "853", "854", "855", "857",
"859", "861", "864", "865", "868", "869", "870", "872", "873",
"879", "883", "884", "888", "890", "891", "894", "898", "901",
"903", "908", "909", "914", "915", "919", "920", "925", "927",
"930", "931", "932", "933", "934", "938", "939", "940", "942",
"944", "947", "949", "950", "951", "952", "953", "955", "957",
"959", "960", "961", "963", "966", "970", "971", "976", "977",
"978", "979", "981", "985", "986", "989", "991", "992", "998",
"1000", "1001", "1002", "1003", "1004", "1006", "1011", "1012",
"1013", "1014", "1016", "1018", "1019", "1024", "1026", "1027",
"1028", "1029", "1030", "1031", "1032", "1034", "1035", "1036",
"1037", "1038", "1040", "1041", "1042", "1043", "1047", "1049",
"1050", "1051", "1054", "1055", "1056", "1057", "1059", "1060",
"1061", "1062", "1064", "1065", "1067", "1068", "1071", "1072",
"1077", "1080", "1081", "1082", "1084", "1086", "1088", "1089",
"1091", "1094", "1098", "1100", "1111", "1112", "1118", "1119",
"1120", "1129", "1139", "1145", "1155", "1161", "1167", "1176",
"1178", "1181", "1184", "1185", "1188", "1190", "1192", "1196",
"1197", "1199", "1200", "1201", "1206", "1209", "1211", "1225",
"1229", "1231", "1234", "1235", "1236", "1238", "1239", "1240",
"1241", "1242", "1243", "1245", "1247", "1250", "1252", "1253",
"1254", "1255", "1256", "1258", "1260", "1261", "1265", "1271",
"1272", "1273", "1274", "1275", "1276", "1279", "1281", "1285",
"1287", "1288", "1290", "1291", "1296", "1302", "1304", "1306",
"1308", "1310", "1311", "1313", "1314", "1315", "1319", "1326",
"1337", "1341", "1343", "1346", "1348", "1352", "1353", "1358",
"1360", "1362", "1365", "1366", "1367", "1368", "1369", "1370",
"1371", "1372", "1375", "1380", "1382", "1385", "1386", "1392",
"1393", "1394", "1395", "1396", "1399", "1408", "1411", "1413",
"1415", "1416", "1421", "1422", "1423", "1425", "1431", "1433",
"1436", "1439", "1440", "1441", "1443", "1444", "1460", "1464",
"1467", "1470", "1475", "1476", "1477", "1479", "1481", "1482",
"1484", "1486", "1488", "1489", "1490", "1491", "1492", "1499",
"1500", "1501", "1502", "1505", "1509", "1511", "1513", "1515",
"1517", "1518", "1520", "1525", "1533", "1538", "1539", "1542",
"1543", "1549", "1550", "1553", "1554", "1558", "1561", "1568",
"1571", "1572", "1574", "1575", "1578", "1579", "1581", "1583",
"1586", "1590", "1593", "1595", "1597", "1600", "1603", "1604",
"1608", "1613", "1615", "1616", "1617", "1619", "1620", "1621",
"1622", "1624", "1629", "1633", "1635", "1637", "1638", "1639",
"1649", "1651", "1652", "1653", "1658", "1659", "1660", "1661",
"1666", "1674", "1675", "1680", "1682", "1687", "1689", "1691",
"1693", "1694", "1695", "1699", "1700", "1701", "1702", "1703",
"1706", "1707", "1710", "1712", "1713", "1714", "1716", "1717",
"1718", "1719", "1721", "1723", "1727", "1728", "1729", "1730",
"1732", "1733", "1734", "1735", "1737", "1740", "1744", "1750",
"1751", "1753", "1755", "1757", "1759", "1760", "1762", "1766",
"1770", "1773", "1774", "1775", "1777", "1778", "1779", "1782",
"1784", "1787", "1790", "1796", "1799", "1801", "1808", "1809",
"1810", "1811", "1812", "1813", "1814", "1818", "1819", "1820",
"1821", "1822", "1824", "1827", "1830", "1833", "1834", "1835",
"1837", "1841", "1844", "1853", "1854", "1857", "1858", "1860",
"1863", "1867", "1868", "1871", "1872", "1876", "1879", "1881",
"1883", "1884", "1886", "1890", "1891", "1892", "1893", "1897",
"1898", "1900", "1902", "1904", "1905", "1906", "1910", "1912",
"1913", "1917", "1918", "1919", "1920", "1921", "1922", "1923",
"1924", "1925", "1926", "1927", "1929", "1930", "1931", "1933",
"1935", "1936", "1939", "1941", "1942", "1945", "1949", "1954",
"1955", "1957", "1964", "1965", "1966", "1970", "1973", "1974",
"1975", "1976", "1978", "1979", "1984", "1985", "1987", "1988",
"1993", "1994", "1996", "1997", "1999", "2000", "2002", "2004",
"2005", "2007", "2008", "2009", "2010", "2017", "2018", "2022",
"2024", "2026", "2027", "2030", "2031", "2032", "2033", "2035",
"2036", "2037", "2039", "2040", "2044", "2047", "2048", "2049",
"2051", "2053", "2054", "2056", "2057", "2059", "2063", "2064",
"2065", "2066", "2067", "2069", "2071", "2073", "2075", "2077",
"2078", "2082", "2083", "2088", "2089", "2090", "2092", "2096",
"2097", "2099", "2100", "2109", "2110", "2113", "2114", "2116",
"2117", "2119", "2120", "2121", "2125", "2127", "2128"), class = "factor"),
Study.Eye = structure(c(1L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L,
1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L,
2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 2L,
1L, 1L, 2L, 1L, 1L, 2L, 2L), .Label = c("1", "2"), class = "factor"),
Age = c(50L, 55L, 80L, 65L, 55L, 90L, 45L, 53L, 59L, 58L,
49L, 84L, 82L, 89L, 77L, 77L, 68L, 75L, 93L, 93L, 64L, 64L,
88L, 68L, 85L, 78L, 88L, 90L, 90L, 75L, 88L, 44L, 42L, 47L,
71L, 60L, 55L, 50L, 88L, 82L, 69L, 74L, 64L, 90L, 76L, 72L,
80L, 83L, 54L, 61L, 69L, 56L, 78L, 83L, 89L, 78L, 81L, 61L,
61L, 85L), Gender = structure(c(2L, 2L, 1L, 2L, 2L, 2L, 2L,
1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L,
1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L,
2L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 1L,
1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L), .Label = c("1", "2"), class = "factor"),
Disease= c(0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1,
1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1,
1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1)), row.names = c(NA, 60L
), class = "data.frame")
example <- example %>% arrange(patient,Study.Eye)
geepack::geeglm(Disease~Age+Gender,family=binomial("logit"),id=patient,corstr="unstructured",data=example)
我收到以下错误消息
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
但是,与可交换相关性似乎相同:
example <- example %>% arrange(patient,Study.Eye)
geepack::geeglm(Disease~Age+Gender,family=binomial("logit"),id=patient,corstr="exchangeable",data=example)
非结构化相关结构估计每个簇内每对观测值的唯一相关性。如果一个簇只有一个观测值,则无法估计该簇内的相关性,从而导致错误。如果您对每个患者恰好有 2 个观察值,那么您仍然会获得与患者数量一样多的 alpha。
可交换结构:假设簇内所有观察对之间具有相同的相关性。对于所有簇,仅估计一个相关参数(alpha)(每个簇具有相同的 alpha),因此仍然可以毫无问题地包含具有单个观察值的簇