2014-11-04 38 views
2

我試圖用包MSM運行多態模型,我遇到了以下錯誤:錯誤包MSM:***抓到段錯誤***「內存未映射」

*** caught segfault *** 
address 0x607c00032c60, cause 'memory not mapped' 

數據

dat.long <- structure(list(id = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 
4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 
9L, 10L, 10L, 10L, 11L, 11L, 11L, 12L, 12L, 12L, 13L, 13L, 13L, 
14L, 14L, 14L, 15L, 15L, 15L, 16L, 16L, 16L, 17L, 17L, 17L, 18L, 
18L, 18L, 19L, 19L, 19L, 20L, 20L, 20L, 21L, 21L, 21L, 22L, 22L, 
22L, 23L, 23L, 23L, 24L, 24L, 24L, 25L, 25L, 25L, 26L, 26L, 26L, 
27L, 27L, 27L, 28L, 28L, 28L, 29L, 29L, 29L, 30L, 30L, 30L, 31L, 
31L, 31L, 32L, 32L, 32L, 33L, 33L, 33L, 34L, 34L, 34L, 35L, 35L, 
35L, 36L, 36L, 36L, 37L, 37L, 37L, 38L, 38L, 38L, 39L, 39L, 39L, 
40L, 40L, 40L, 41L, 41L, 41L, 42L, 42L, 42L, 43L, 43L, 43L, 44L, 
44L, 44L, 45L, 45L, 45L, 46L, 46L, 46L, 47L, 47L, 47L, 48L, 48L, 
48L, 49L, 49L, 49L, 50L, 50L, 50L, 51L, 51L, 51L, 52L, 52L, 52L, 
53L, 53L, 53L, 54L, 54L, 54L, 55L, 55L, 55L, 56L, 56L, 56L, 57L, 
57L, 57L, 58L, 58L, 58L, 59L, 59L, 59L, 60L, 60L, 60L, 61L, 61L, 
61L, 62L, 62L, 62L, 63L, 63L, 63L, 64L, 64L, 64L, 65L, 65L, 65L, 
66L, 66L, 66L, 67L, 67L, 67L, 68L, 68L, 68L, 69L, 69L, 69L, 70L, 
70L, 70L, 71L, 71L, 71L, 72L, 72L, 72L, 73L, 73L, 73L, 74L, 74L, 
74L, 75L, 75L, 75L, 76L, 76L, 76L, 77L, 77L, 77L, 78L, 78L, 78L, 
79L, 79L, 79L, 80L, 80L, 80L, 81L, 81L, 81L, 82L, 82L, 82L, 83L, 
83L, 83L, 84L, 84L, 84L, 85L, 85L, 85L, 86L, 86L, 86L, 87L, 87L, 
87L, 88L, 88L, 88L, 89L, 89L, 89L, 90L, 90L, 90L, 91L, 91L, 91L, 
92L, 92L, 92L, 93L, 93L, 93L, 94L, 94L, 94L, 95L, 95L, 95L, 96L, 
96L, 96L, 97L, 97L, 97L, 98L, 98L, 98L, 99L, 99L, 99L), time = c(1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), age = c(63L, 67L, 71L, 65L, 
69L, 73L, 60L, 64L, 69L, 62L, 65L, 69L, 64L, 68L, 72L, 64L, 68L, 
72L, 64L, 68L, 72L, 64L, 68L, 72L, 64L, 68L, 73L, 65L, 69L, 73L, 
61L, 65L, 68L, 63L, 67L, 72L, 64L, 69L, 73L, 61L, 65L, 69L, 61L, 
65L, 69L, 64L, 68L, 72L, 63L, 67L, 71L, 61L, 65L, 69L, 64L, 68L, 
72L, 65L, 69L, 73L, 63L, 67L, 71L, 61L, 64L, 68L, 63L, 67L, 71L, 
63L, 68L, 72L, 62L, 66L, 70L, 64L, 68L, 72L, 62L, 66L, 70L, 65L, 
69L, 73L, 63L, 66L, 70L, 62L, 66L, 70L, 62L, 65L, 70L, 62L, 66L, 
70L, 63L, 67L, 71L, 62L, 66L, 71L, 62L, 66L, 70L, 63L, 67L, 71L, 
64L, 67L, 72L, 61L, 65L, 69L, 64L, 67L, 71L, 64L, 69L, 72L, 62L, 
66L, 70L, 62L, 66L, 70L, 63L, 67L, 71L, 64L, 68L, 72L, 62L, 66L, 
70L, 60L, 64L, 68L, 63L, 67L, 71L, 64L, 68L, 73L, 64L, 68L, 72L, 
64L, 68L, 72L, 64L, 68L, 71L, 62L, 65L, 69L, 61L, 65L, 69L, 64L, 
68L, 72L, 60L, 65L, 69L, 62L, 66L, 70L, 60L, 64L, 68L, 63L, 67L, 
71L, 63L, 67L, 71L, 64L, 68L, 72L, 65L, 69L, 73L, 61L, 65L, 69L, 
63L, 67L, 71L, 63L, 67L, 71L, 62L, 67L, 71L, 64L, 68L, 72L, 64L, 
68L, 72L, 63L, 67L, 71L, 64L, 68L, 72L, 64L, 68L, 72L, 62L, 66L, 
71L, 61L, 65L, 69L, 63L, 68L, 72L, 60L, 65L, 69L, 61L, 65L, 69L, 
63L, 68L, 72L, 62L, 67L, 70L, 64L, 68L, 73L, 61L, 65L, 69L, 62L, 
66L, 70L, 62L, 65L, 70L, 61L, 65L, 69L, 64L, 68L, 72L, 62L, 66L, 
70L, 61L, 65L, 69L, 61L, 66L, 70L, 63L, 67L, 71L, 61L, 65L, 70L, 
62L, 67L, 71L, 60L, 64L, 69L, 61L, 66L, 70L, 61L, 65L, 69L, 62L, 
67L, 72L, 63L, 67L, 71L, 60L, 64L, 69L, 61L, 65L, 69L, 65L, 69L, 
73L, 62L, 66L, 70L, 60L, 64L, 68L), mci = structure(c(2L, 2L, 
2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 
2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 
2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 
2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 
1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 
2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 
2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 
2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 
1L, 1L, 1L, 1L, 2L, 1L, 2L), .Label = c("1", "2"), class = "factor")), .Names = c("id", 
"time", "age", "mci"), reshapeLong = structure(list(varying = structure(list(
    age = c("age_R2", "b_age_R2", "c_age"), mci = c("mci_w1", 
    "mci_w2", "mci_w3")), .Names = c("age", "mci")), v.names = c("age", 
"mci"), idvar = "id", timevar = "time"), .Names = c("varying", 
"v.names", "idvar", "timevar")), row.names = c("1.1", "1.2", 
"1.3", "2.1", "2.2", "2.3", "3.1", "3.2", "3.3", "4.1", "4.2", 
"4.3", "5.1", "5.2", "5.3", "6.1", "6.2", "6.3", "7.1", "7.2", 
"7.3", "8.1", "8.2", "8.3", "9.1", "9.2", "9.3", "10.1", "10.2", 
"10.3", "11.1", "11.2", "11.3", "12.1", "12.2", "12.3", "13.1", 
"13.2", "13.3", "14.1", "14.2", "14.3", "15.1", "15.2", "15.3", 
"16.1", "16.2", "16.3", "17.1", "17.2", "17.3", "18.1", "18.2", 
"18.3", "19.1", "19.2", "19.3", "20.1", "20.2", "20.3", "21.1", 
"21.2", "21.3", "22.1", "22.2", "22.3", "23.1", "23.2", "23.3", 
"24.1", "24.2", "24.3", "25.1", "25.2", "25.3", "26.1", "26.2", 
"26.3", "27.1", "27.2", "27.3", "28.1", "28.2", "28.3", "29.1", 
"29.2", "29.3", "30.1", "30.2", "30.3", "31.1", "31.2", "31.3", 
"32.1", "32.2", "32.3", "33.1", "33.2", "33.3", "34.1", "34.2", 
"34.3", "35.1", "35.2", "35.3", "36.1", "36.2", "36.3", "37.1", 
"37.2", "37.3", "38.1", "38.2", "38.3", "39.1", "39.2", "39.3", 
"40.1", "40.2", "40.3", "41.1", "41.2", "41.3", "42.1", "42.2", 
"42.3", "43.1", "43.2", "43.3", "44.1", "44.2", "44.3", "45.1", 
"45.2", "45.3", "46.1", "46.2", "46.3", "47.1", "47.2", "47.3", 
"48.1", "48.2", "48.3", "49.1", "49.2", "49.3", "50.1", "50.2", 
"50.3", "51.1", "51.2", "51.3", "52.1", "52.2", "52.3", "53.1", 
"53.2", "53.3", "54.1", "54.2", "54.3", "55.1", "55.2", "55.3", 
"56.1", "56.2", "56.3", "57.1", "57.2", "57.3", "58.1", "58.2", 
"58.3", "59.1", "59.2", "59.3", "60.1", "60.2", "60.3", "61.1", 
"61.2", "61.3", "62.1", "62.2", "62.3", "63.1", "63.2", "63.3", 
"64.1", "64.2", "64.3", "65.1", "65.2", "65.3", "66.1", "66.2", 
"66.3", "67.1", "67.2", "67.3", "68.1", "68.2", "68.3", "69.1", 
"69.2", "69.3", "70.1", "70.2", "70.3", "71.1", "71.2", "71.3", 
"72.1", "72.2", "72.3", "73.1", "73.2", "73.3", "74.1", "74.2", 
"74.3", "75.1", "75.2", "75.3", "76.1", "76.2", "76.3", "77.1", 
"77.2", "77.3", "78.1", "78.2", "78.3", "79.1", "79.2", "79.3", 
"80.1", "80.2", "80.3", "81.1", "81.2", "81.3", "82.1", "82.2", 
"82.3", "83.1", "83.2", "83.3", "84.1", "84.2", "84.3", "85.1", 
"85.2", "85.3", "86.1", "86.2", "86.3", "87.1", "87.2", "87.3", 
"88.1", "88.2", "88.3", "89.1", "89.2", "89.3", "90.1", "90.2", 
"90.3", "91.1", "91.2", "91.3", "92.1", "92.2", "92.3", "93.1", 
"93.2", "93.3", "94.1", "94.2", "94.3", "95.1", "95.2", "95.3", 
"96.1", "96.2", "96.3", "97.1", "97.2", "97.3", "98.1", "98.2", 
"98.3", "99.1", "99.2", "99.3"), class = "data.frame") 

然後我運行多狀態模型如下。

library(msm) 

#construct the qmatrix(all transitions are allowed.) 
Q <- matrix(c(1,1,1,1), 
      nrow = 2, ncol = 2, byrow=TRUE, 
      dimnames=list(from=1:2,to=1:2)) 

#specify the initial values 
crudeinits <- crudeinits.msm(mci ~ age, subject=id, data=dat.long, qmatrix=Q) 

#the model 
mci.msm <- msm(mci ~ age, subject = id, qmatrix = crudeinits, data = dat.long) 

這比在R會話結束時出現上述錯誤的結果。我目前不確定如何解決這個問題,所以任何幫助,將不勝感激。

感謝

+1

對於這種非常具體的錯誤,我建議您聯繫'msm'包的作者。你可以轉發他這個SO問題,因爲它已經包含了重現錯誤的方法。 – 2014-11-04 07:16:56

回答

1

的MSM包的維護者,接觸後所述問題已通過重新定義狀態變量的數值,而不是一個因素解決。下面是完整的答覆。

Thanks for this report. This might be related to the state variable being a factor rather than numeric. I can make it work for me by redefining

dat.long$mci <- as.numeric(dat.long$mci).

I couldn't reproduce the crash, but it didn't converge with the state as a factor.

I don't think it's documented explicitly, but factor states were supposed to work as long as their levels are named 1,2,.... So it's a bug, which seems to have been introduced in 1.4, but I'll fix it for the next release.