<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,102)">Amigos de R,</div><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,102)"><br></div><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,102)">Ajustei um modelo de sobrevivencia e gostaria de exportar o modelo uma planilha xlsx ou csv, de tal forma que os coeficientes fiquem numa coluna e na coluna ao lado fique pelo o que o coeficiente está multiplicando. Já quebrei a cabeça aqui e não consegui. A pegadinha é que o modelo possui algumas transformações por splines e por isso preciso dos valores dos nós pra cada variável contínua. Achei uma função chamada Function que faz isso. Mas depois disso eu não avancei. Eu gostaria de pegar da saída função Function o que está entre as chaves, quebrar nos "+" e nos "-" pra separar os termos e depois quebrar nos "*" pra separar as colunas. Organizar em formato de planilha e exportar.</div><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,102)"><br></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">library(rms)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">n <- 1000</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">age <- 50 + 12*rnorm(n)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">label(age) <- "Age"</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">sex <- factor(sample(c('Male','Female'), n, </font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">                     rep=TRUE, prob=c(.6, .4)))</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">cens <- 15*runif(n)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">h <- .02*exp(.04*(age-50)+.8*(sex=='Female'))</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">dt <- -log(runif(n))/h</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">label(dt) <- 'Follow-up Time'</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">e <- ifelse(dt <= cens,1,0)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">dt <- pmin(dt, cens)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">units(dt) <- "Year"</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">dd <- datadist(age, sex)</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">options(datadist='dd')</font></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">S <- Surv(dt,e)</font></div><div class="gmail_default"><span style="color:rgb(0,0,102);font-family:'courier new',monospace">f <- cph(S ~ rcs(age,4) + sex, x=TRUE, y=TRUE)</span><br></div><div class="gmail_default"><font color="#000066" face="courier new, monospace">>Function(f)</font><span style="color:rgb(0,0,102);font-family:'courier new',monospace">  </span></div><div class="gmail_default"><span style="color:rgb(0,0,102);font-family:'courier new',monospace"><div class="gmail_default">>function(age = 48.800654,sex = "Male") {0.28612987-0.017321951* age+0.00012586581*pmax(age-29.600456,0)^3-0.00046285671*pmax(age-44.273198,0)^3+0.00042111763*pmax(age-53.769262,0)^3-8.4126731e-05*pmax(age-69.855597,0)^3-0.64448916*(sex=="Male") }</div><div class="gmail_default"><environment: 0x0000000015fa7378></div><div class="gmail_default"><br></div><div class="gmail_default">Pra ficar mais ou menos assim</div><div class="gmail_default">+0.28612987</div><div class="gmail_default">-0.017321951    age</div><div class="gmail_default">+0.00012586581  pmax(age-29.600456,0)^3</div><div class="gmail_default">-0.00046285671  pmax(age-44.273198,0)^3</div><div class="gmail_default">+0.00042111763  pmax(age-53.769262,0)^3</div><div class="gmail_default">-8.4126731e-05  pmax(age-69.855597,0)^3</div><div class="gmail_default">-0.64448916     (sex=="Male") <br></div><div class="gmail_default"><br></div><div class="gmail_default">Alguma luz?</div><div class="gmail_default"><br></div></span></div><div class="gmail_default"><span style="color:rgb(0,0,102);font-family:'courier new',monospace">Abraço forte,</span></div><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,102)"><br></div><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><font face="'courier new', monospace" style="background-color:rgb(255,255,255)" color="#000066">Pedro Brasil</font></div></div></div></div></div></div>
</div>