Dear All,
I am trying to study how COVID-19 infections accelerates onset of chronic pain conditions. I am new to survival analysis in Stata and struggling with the stsplit command. Here is the dataex of my data:
I tried to stset it. Next I want to split the spell at the point of COVID-19 infection, but not all individuals have COVID infections. So, when I try to stsplit i get the following error:
To overcome this problem, I try to replace the timeCOVID variable with the failtime for individuals who don't have COVID-19, but then no new episodes are created, even though there are many instances where a COVID-19 infection is observed prior to failure (new chronic pain diagnosis), and where I expect new episodes to be created.
What am I doing wrong? Any help would be much appreciated.
Gratefully,
Sumedha
I am trying to study how COVID-19 infections accelerates onset of chronic pain conditions. I am new to survival analysis in Stata and struggling with the stsplit command. Here is the dataex of my data:
Code:
* Example generated by -dataex-. For more info, type help dataex clear input float(grpatidtreat d t0 failtime origin maxhadCOVID) byte(Asian White Black Hispanic age6579 age80plus Female Male) str1 race float(agecat sexcat timeCOVID) 130 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 194 0 1 18 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 379 1 1 28 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 598 1 1 20 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 633 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 686 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 707 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 836 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 894 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 900 1 1 25 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 977 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 1027 0 1 31 690 0 1 0 0 0 1 0 1 0 "A" 1 1 . 1028 1 1 10 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 1116 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 1224 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 1283 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 . 1323 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 1423 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 1438 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 1599 1 1 13 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 1639 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 1879 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 1903 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 1955 0 1 7 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 1986 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 1988 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 2112 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 2159 0 1 31 690 0 0 0 1 0 1 0 0 1 "B" 1 2 . 2307 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 2369 1 1 17 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 2389 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 . 2423 0 1 31 690 0 0 0 0 0 1 0 1 0 "" 1 1 . 2537 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 2539 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 . 2588 1 1 9 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 2689 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 . 2705 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 2771 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 2779 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 2859 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 2865 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 3039 0 1 31 690 0 1 0 0 0 0 1 1 0 "A" 2 1 . 3118 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 3122 1 1 19 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 3204 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 3460 1 1 17 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 3505 0 1 31 690 0 0 0 0 0 0 1 1 0 "" 2 1 . 3571 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 3578 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 3647 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 3833 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 3876 1 1 2 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 3935 1 1 15 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 3995 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 4088 0 1 31 690 0 0 0 0 0 1 0 1 0 "" 1 1 . 4129 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 4219 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 4263 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 4279 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 4643 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 4669 0 1 31 690 0 1 0 0 0 1 0 0 1 "A" 1 2 . 4691 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 4754 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 4934 1 1 18 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 4964 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 5079 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 5166 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 5231 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 5344 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 5408 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 5627 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 6065 0 1 31 690 0 0 0 1 0 1 0 1 0 "B" 1 1 . 6138 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 6151 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 6261 1 1 7 690 0 0 0 1 0 1 0 0 1 "B" 1 2 . 6714 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 6753 0 1 24 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 6788 1 1 6 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 6926 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 6935 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 6972 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 . 7034 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 7116 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 . 7127 0 1 31 690 0 0 0 1 0 1 0 0 1 "B" 1 2 . 7159 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 7162 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 7183 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 7252 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 7384 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 7461 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 7505 1 1 25 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 7634 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 7646 1 1 31 690 0 1 0 0 0 1 0 1 0 "A" 1 1 . 7866 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 . 7886 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 . 7906 1 1 12 690 0 0 1 0 0 0 1 1 0 "W" 2 1 . 7953 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 8133 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 8230 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . 8270 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 . end format %tm origin label values maxhadCOVID maxhadCOVID label def maxhadCOVID 0 "No confirmed COVID-19", modify label values agecat agecat label def agecat 1 "Age 65-79y", modify label def agecat 2 "Age 80+y", modify
Code:
. stset failtime, id(grpatidtreat) enter(t0) failure(d) Survival-time data settings ID variable: grpatidtreat Failure event: d!=0 & d<. Observed time interval: (failtime[_n-1], failtime] Enter on or after: time t0 Exit on or before: failure -------------------------------------------------------------------------- 49,963 total observations 1,476 observations end on or before enter() -------------------------------------------------------------------------- 48,487 observations remaining, representing 48,487 subjects 6,997 failures in single-failure-per-subject data 1,270,542 total analysis time at risk and under observation At risk from t = 0 Earliest observed entry t = 1 Last observed exit t = 31 . local split=timeCOVID . stsplit spell, at(`split') invalid numlist has missing values option at() must contain nonnegative values r(127); end of do-file r(127);
Code:
Code:. replace timeCOVID=_t if timeCOVID==.|(timeCOVID>failtime) (45,989 real changes made, 114 to missing) . local split=timeCOVID . stsplit spell, at(`split') (no new episodes generated) . end of do-file . do "C:\Users\SUMEDH~1\AppData\Local\Temp\STD737c_000000.tmp" . dataex grpatidtreat d t0 failtime origin maxhadCOVID Asian White Black Hispanic age6579 age80plus Female Male ra > ce agecat sexcat timeCOVID _st _d _t _t0 spell ----------------------- copy starting from the next line ----------------------------------------- copy up to and including the previous line ------------------Code:* Example generated by -dataex-. For more info, type help dataex clear input float(grpatidtreat d t0 failtime origin maxhadCOVID) byte(Asian White Black Hispanic age6579 age80plus Female Male) str1 race float(agecat sexcat timeCOVID) byte(_st _d _t _t0 spell) 130 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 194 0 1 18 690 0 0 1 0 0 1 0 0 1 "W" 1 2 18 1 0 18 1 0 379 1 1 28 690 0 0 1 0 0 0 1 1 0 "W" 2 1 28 1 1 28 1 0 598 1 1 20 690 0 0 1 0 0 0 1 0 1 "W" 2 2 20 1 1 20 1 0 633 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 686 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 707 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 836 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 894 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 900 1 1 25 690 0 0 1 0 0 1 0 0 1 "W" 1 2 25 1 1 25 1 0 977 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 1027 0 1 31 690 0 1 0 0 0 1 0 1 0 "A" 1 1 31 1 0 31 1 0 1028 1 1 10 690 0 0 1 0 0 0 1 1 0 "W" 2 1 10 1 1 10 1 0 1116 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 1224 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 1283 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 31 1 0 31 1 0 1323 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 1423 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 1438 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 1599 1 1 13 690 0 0 1 0 0 0 1 0 1 "W" 2 2 13 1 1 13 1 0 1639 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 1879 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 1903 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 1955 0 1 7 690 0 0 1 0 0 0 1 0 1 "W" 2 2 7 1 0 7 1 0 1986 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 1988 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 2112 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 2159 0 1 31 690 0 0 0 1 0 1 0 0 1 "B" 1 2 31 1 0 31 1 0 2307 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 2369 1 1 17 690 0 0 1 0 0 0 1 1 0 "W" 2 1 17 1 1 17 1 0 2389 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 31 1 0 31 1 0 2423 0 1 31 690 0 0 0 0 0 1 0 1 0 "" 1 1 31 1 0 31 1 0 2537 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 2539 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 31 1 0 31 1 0 2588 1 1 9 690 0 0 1 0 0 1 0 1 0 "W" 1 1 9 1 1 9 1 0 2689 0 1 31 690 0 0 0 0 1 1 0 0 1 "H" 1 2 31 1 0 31 1 0 2705 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 2771 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 2779 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 2859 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 2865 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 3039 0 1 31 690 0 1 0 0 0 0 1 1 0 "A" 2 1 31 1 0 31 1 0 3118 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 3122 1 1 19 690 0 0 1 0 0 1 0 0 1 "W" 1 2 19 1 1 19 1 0 3204 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 3460 1 1 17 690 0 0 1 0 0 1 0 1 0 "W" 1 1 17 1 1 17 1 0 3505 0 1 31 690 0 0 0 0 0 0 1 1 0 "" 2 1 31 1 0 31 1 0 3571 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 3578 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 3647 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 3833 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 3876 1 1 2 690 0 0 1 0 0 0 1 0 1 "W" 2 2 2 1 1 2 1 0 3935 1 1 15 690 0 0 1 0 0 0 1 1 0 "W" 2 1 15 1 1 15 1 0 3995 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 4088 0 1 31 690 0 0 0 0 0 1 0 1 0 "" 1 1 31 1 0 31 1 0 4129 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 4219 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 4263 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 4279 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 4643 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 4669 0 1 31 690 0 1 0 0 0 1 0 0 1 "A" 1 2 31 1 0 31 1 0 4691 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 4754 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 4934 1 1 18 690 0 0 1 0 0 0 1 1 0 "W" 2 1 18 1 1 18 1 0 4964 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 5079 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 5166 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 5231 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 5344 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 5408 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 5627 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 6065 0 1 31 690 0 0 0 1 0 1 0 1 0 "B" 1 1 31 1 0 31 1 0 6138 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 6151 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 6261 1 1 7 690 0 0 0 1 0 1 0 0 1 "B" 1 2 7 1 1 7 1 0 6714 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 6753 0 1 24 690 0 0 1 0 0 1 0 1 0 "W" 1 1 24 1 0 24 1 0 6788 1 1 6 690 0 0 1 0 0 1 0 0 1 "W" 1 2 6 1 1 6 1 0 6926 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 6935 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 6972 0 1 31 690 0 0 1 0 0 0 1 0 1 "W" 2 2 31 1 0 31 1 0 7034 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 7116 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 31 1 0 31 1 0 7127 0 1 31 690 0 0 0 1 0 1 0 0 1 "B" 1 2 31 1 0 31 1 0 7159 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 7162 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 7183 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 7252 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 7384 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 7461 0 1 31 690 0 0 1 0 0 0 1 1 0 "W" 2 1 31 1 0 31 1 0 7505 1 1 25 690 0 0 1 0 0 1 0 1 0 "W" 1 1 25 1 1 25 1 0 7634 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 7646 1 1 31 690 0 1 0 0 0 1 0 1 0 "A" 1 1 31 1 1 31 1 0 7866 0 1 31 690 0 0 1 0 0 1 0 0 1 "W" 1 2 31 1 0 31 1 0 7886 0 1 31 690 0 0 0 0 1 1 0 1 0 "H" 1 1 31 1 0 31 1 0 7906 1 1 12 690 0 0 1 0 0 0 1 1 0 "W" 2 1 12 1 1 12 1 0 7953 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 8133 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 8230 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 8270 0 1 31 690 0 0 1 0 0 1 0 1 0 "W" 1 1 31 1 0 31 1 0 end format %tm origin label values maxhadCOVID maxhadCOVID label def maxhadCOVID 0 "No confirmed COVID-19", modify label values agecat agecat label def agecat 1 "Age 65-79y", modify label def agecat 2 "Age 80+y", modify
What am I doing wrong? Any help would be much appreciated.
Gratefully,
Sumedha
Comment