QkidneyFemale=function(age, b_CCF, b_cvd, b_nsaid, b_pvd, b_ra, b_renalstones, b_sle, b_treatedhyp, b_type1, b_type2, bmi, ethrisk, fh_kidney, sbp, smoke_cat, town,surv=5) { survivor = c(0,0.999198436737061,0.998197913169861,0.996961772441864,0.995605170726776,0.994150519371033) # The conditional arrays Iethrisk= c(0,0,0.0297650380606283470000000,0.4355484308510417800000000,0.4023403121262871300000000,0.1510682354063334300000000,-0.7276014058191869700000000,-0.5721584379149783400000000,0.1202074407607906200000000,0.2033300432421270600000000) Ismoke = c(0,0.1729462730516562200000000,0.2650781109145369800000000,0.2382936894338313600000000,0.3575551750075979800000000) # Applying the fractional polynomial transforms # (which includes scaling) dage = age dage=dage/10 age_1 = dage^3 age_2 = (dage^3)*log(dage) dbmi = bmi dbmi=dbmi/10 bmi_1 = dbmi^-2 bmi_2 = dbmi^-2*log(dbmi) dsbp = sbp dsbp=dsbp/100 sbp_1 = dsbp^-2 sbp_2 = dsbp^-2*log(dsbp) # Centring the continuous variables age_1 = age_1 - 134.033187866210940 age_2 = age_2 - 218.835433959960940 bmi_1 = bmi_1 - 0.143204286694527 bmi_2 = bmi_2 - 0.139157548546791 sbp_1 = sbp_1 - 0.583845973014832 sbp_2 = sbp_2 - 0.157089039683342 town = town - -0.607831299304962 # Start of Sum a=0 # The conditional sums a = a + Iethrisk[ethrisk] a = a + Ismoke[smoke_cat] # Sum from continuous values a = a + age_1 * 0.0484371529894231380000000 a = a + age_2 * -0.0176947701133479510000000 a = a + bmi_1 * 1.1105635237480727000000000 a = a + bmi_2 * -12.3690966232258340000000000 a = a + sbp_1 * -2.1086300793705433000000000 a = a + sbp_2 * -5.6186919081620603000000000 a = a + town * 0.0292990623642085740000000 # Sum from boolean values a = a + b_CCF * 0.8212875143069400300000000 a = a + b_cvd * 0.3154860928614339800000000 a = a + b_nsaid * 0.2632188743293689700000000 a = a + b_pvd * 0.3010113193737247200000000 a = a + b_ra * 0.4833725257627346500000000 a = a + b_renalstones * 0.2396724646518308700000000 a = a + b_sle * 0.8756342355289874500000000 a = a + b_treatedhyp * 0.9124721274488373200000000 a = a + b_type1 * 2.1047508138768976000000000 a = a + b_type2 * 1.5036808227335385000000000 a = a + fh_kidney * 0.7566335640404944200000000 # Sum from interaction terms */ a = a + age_1 * b_treatedhyp * -0.0160237949945248210000000 a = a + age_1 * b_type1 * -0.0315227477366860010000000 a = a + age_1 * b_type2 * -0.0280393344533675890000000 a = a + age_2 * b_treatedhyp * 0.0064950068136830665000000 a = a + age_2 * b_type1 * 0.0123621801957671720000000 a = a + age_2 * b_type2 * 0.0112916792022569050000000 #/* Calculate the score itself */ score = (1 - survivor[surv]^exp(a)) return (score) } QkidneyMale=function(age, b_CCF, b_cvd, b_nsaid, b_pvd, b_ra, b_treatedhyp, b_type1, b_type2, bmi, ethrisk, fh_kidney, sbp, smoke_cat, town, surv=5) { survivor = c(0,0.999482631683350,0.998838543891907,0.997995197772980,0.997083306312561,0.996157050132751) # The conditional arrays Iethrisk = c(0,0,0.1503591855029934300000000,0.6943866103945839400000000,0.3024824702548107900000000,0.3642866825390685400000000, -0.1882622611530610500000000,0.1607974560923533000000000,0.3066453676549667500000000,0.2851705993387653200000000) Ismoke = c(0,0.1214425082432345500000000,0.1382410437354289800000000,0.2137214276315931300000000,0.2196760294878585000000000) # Applying the fractional polynomial transforms # (which includes scaling) dage = age dage=dage/10 age_1 = dage^3 age_2 = (dage^3)*log(dage) dbmi = bmi dbmi=dbmi/10 bmi_1 = dbmi^-2 bmi_2 = dbmi^-2*log(dbmi) dsbp = sbp dsbp=dsbp/100 sbp_1 = dsbp^-2 sbp_2 = dsbp^-.5 # Centring the continuous variables age_1 = age_1 - 129.786895751953120 age_2 = age_2 - 210.509735107421870 bmi_1 = bmi_1 - 0.138382270932198 bmi_2 = bmi_2 - 0.136841759085655 sbp_1 = sbp_1 - 0.551519691944122 sbp_2 = sbp_2 - 0.861767768859863 town = town - -0.442225903272629 # Start of Sum a=0 # The conditional sums a = a + Iethrisk[ethrisk] a = a + Ismoke[smoke_cat] # Sum from continuous values a = a + age_1 * 0.0372566306865022980000000 a = a + age_2 * -0.0124595530436500700000000 a = a + bmi_1 * 4.0321363736131879000000000 a = a + bmi_2 * -16.7941762226878630000000000 a = a + sbp_1 * 5.0163247808020985000000000 a = a + sbp_2 * -14.8269303572075850000000000 a = a + town * 0.0196103062056626580000000 # Sum from boolean values a = a + b_CCF * 1.0432290439580310000000000 a = a + b_cvd * 0.3335059339906052400000000 a = a + b_nsaid * 0.2536071471853483300000000 a = a + b_pvd * 0.3838631945620650800000000 a = a + b_ra * 0.3906860206278776100000000 a = a + b_treatedhyp * 1.0232261464655623000000000 a = a + b_type1 * 2.5075410232894906000000000 a = a + b_type2 * 1.8034937790520313000000000 a = a + fh_kidney * 1.2749066751148557000000000 # Sum from interaction terms a = a + age_1 * b_treatedhyp * -0.0259849886240969550000000 a = a + age_1 * b_type1 * -0.0426774334972716550000000 a = a + age_1 * b_type2 * -0.0233621962388147270000000 a = a + age_2 * b_treatedhyp * 0.0109255079387530760000000 a = a + age_2 * b_type1 * 0.0172196192195575690000000 a = a + age_2 * b_type2 * 0.0087552424939960610000000 # Calculate the score itself score = (1 - survivor[surv]^exp(a) ) return (score) }