Hello,
I am using Stata/MP 15 on Windows 10.
I have a question about my code.
I had the following error while running my code:
*: 3900 unable to allocate real <tmp>[536819,536819]
<istmt>: - function returned error
Perhaps I think it is due to 'matsize'.
Please let me know if you know how to solve this problem.
https://s3.ap-northeast-2.amazonaws....180510/bmi.dta
I am using Stata/MP 15 on Windows 10.
I have a question about my code.
I had the following error while running my code:
*: 3900 unable to allocate real <tmp>[536819,536819]
<istmt>: - function returned error
Perhaps I think it is due to 'matsize'.
Please let me know if you know how to solve this problem.
Code:
use "c:\temp\bmi.dta", clear keep person_id last_date endpoint_hcc first_date bmi /// sex age_cat smk2 alccat_miss ht_code hc_code dm_code cirrhosis //============================================================================== // #1: Set survival data for disease free survival analysis stset last_date , failure(endpoint_hcc ==1) id(person_id) origin(first_date) scale(365.25) //============================================================================== // #2: Cox models participants and generate a graph (albumin) *create spline variables for depression score mkspline spline = bmi, nknots(4) displayknots cubic * select 10th percentile as the reference sum bmi, d gen temp_p1 = r(p1) gen temp_p10 = r(p10) gen temp_p99 = r(p99) sort bmi gen bmi_ref50 = round(_N*0.5,0) local ref50 bmi_ref50 gen temp_ref50 = bmi[`ref50'] foreach var of varlist spline* { gen temp_`var'_ref50 = `var' - `var'[`ref50'] } stcox spline* ib2.sex i.age_cat ib1.smk2 i.alccat_miss ht_code hc_code dm_code cirrhosis matrix temp_beta=e(b) matrix beta=temp_beta[1,1..3] matrix list beta svmat beta, names(temp_beta) matrix temp_var=e(V) matrix var=temp_var[1..3,1..3] matrix list var svmat var, names(temp_var) mata: xt_mat = st_data(., "temp_spline1_ref50 temp_spline2_ref50 temp_spline3_ref50") mata: beta_mat = st_data(1, "temp_beta1 temp_beta2 temp_beta3") mata: var_mat = st_data(1::3, "temp_var1 temp_var2 temp_var3") mata: y = xt_mat * beta_mat' mata: se = sqrt(diagonal(xt_mat * var_mat * xt_mat')) mata: st_addvar("double", ("y","se")) mata: st_store(., "y", y) mata: st_store(., "se", se) gen low = y - 1.96 * se gen high = y + 1.96 * se keep bmi y low high temp_ref50 saveold "spline.dta", version(12) replace