Abbiamo un utente avanzato che ha suggerito di aggiungere add Nomogramma, curva di decisione DCA e NRI nella modellazione predittiva. Queste funzioni sono ora utilizzate da R e gli utenti si aspettano di utilizzarle anche in JMP, in particolare gli utenti medici.
@mia_stephens
Ciao Mia
Grazie per aver prestato attenzione al mio suggerimento.
Ho chiesto a SE di programmare un componente aggiuntivo combinando JMP con R.Il JSL è il seguente:
// Expressions List
LoadExprs = expr(
InitR = expr(
R Init();
R Submit( "
library(survival)
library(rms)
" );
);
MakeNomoPlot = expr(
yy = yvar << Get Items;
cc = cvar << Get Items;
xx = xvar << Get Items;
R send(yy);
R send(cc);
R send(xx);
dt = Current Data Table();
R Send(dt);
R Submit(
EvalInsert("\[
dd<-datadist(dt)
options(datadist="dd")
t1 <- yy[1]
t2 <- cc[1]
t3 <- paste(xx, collapse = "+")
formula=eval(parse(text=paste("Surv(",t1,",",t2,")~",t3)))
f<-cph(formula,data=lung,x=TRUE,y=TRUE,surv=TRUE)
survival<-Survival(f)
survival1<-function(x)survival(365,x)
survival2<-function(x)survival(730,x)
nom<-nomogram(f,fun=list(survival1,survival2),
fun.at=c(0.05,seq(0.1,0.9,by=0.05),0.95),
funlabel=c('1 year survival','2 year survival'))
plot(nom)
]\"));
);
CapturePlot = expr(
JMP_plot = R Get Graphics(png);
New Window("Imported Plot", Picture Box(JMP_Plot));
);
RunClose = expr(
inwin << Close Window; // close window
R Term( ); //Close r connection
);
);
LoadExprs; //load all the expressions that reside at the end of the file
InitR; //Start R Connection and load libraries
// Prompt for data table if none is open
if(IsEmpty(Current Data Table()), dt = Open(), dt = Current Data Table());
//Draw Window and Create Fields and Buttons
inwin = New Window( //Draw New Window and name inwin
"列线图", //Window Title
Panel Box("选择列", //Draws visible box
H List Box( //Invisible box for layout - glues horizontally
clb1 = Col List Box( all ), //Column listbox, with name clb1 so we can access later
// Draw First Lineup Box (invisible, provides arrangement) for Selecting Columns
Lineup Box( N Col( 2 ), //with 2 columns indicated, each pair will span a row
//First Row
Button Box( "Y,事件时间", yvar << setitems( clb1 << getselected ) ),
yvar = Col List Box( minitems( 1 ), maxitems( 1 ), nlines( 1 ) ),
//Second Row
Button Box( "删失", cvar << setitems( clb1 << getselected ) ),
cvar = Col List Box( minitems( 1 ), maxitems( 1 ), nlines( 1 ) ),
//Third Row
Button Box( "X,因子", xvar << setitems( clb1 << Get Selected ) ),
xvar = Col List Box( minitems( 1 ), maxitems( 100 ), nlines( 10 ) ),
),
// Draw Second Lineup Box for Buttons
Lineup Box( N Col( 1 ),
Button Box("确定", MakeNomoPlot),
Button Box("在JMP窗口中显示", CapturePlot),
Button Box("关闭", RunClose )
) //close Lineup Box
) //close H List Box
) //close Panel box
); //close New WindowGrazie per l'informazione.@Chiara , c'è uno script o un componente aggiuntivo che puoi condividere?
Ecco cosa ho trovato Wikipedia .Penso che questo link descriva anche il suo utilizzo. È corretto @Chiara
Ciao Mia
Nomogramma, curva di decisione DCA e NRI è proposto come funzionalità avanzate e nuove nella modellazione predittiva dal nostro utente JMP senior in un ospedale. Insegna ai medici in ospedale come usare JMP. Questi nuovi fu zioni possono essere fatte in R per il momento.
condividerò prima il nomogramma questa volta.
Il nomogramma è comunemente usato nella ricerca medica e nei documenti ed è molto popolare tra gli operatori sanitari.
Mesi fa ho fatto un sondaggio tra i medici degli ospedali. Quasi l'80-90% dei medici ha bisogno di utilizzare il nomogramma nei propri documenti. Ho chiesto a China SE di programmare JSL di JMP e R e l'ho condiviso con i clienti. Ma i clienti vogliono ancora utilizzare JMP per realizzarlo direttamente.
Se potessimo aggiungere il nomogramma a JMP, JMP diventerebbe più competitivo tra gli operatori sanitari.

Puoi fornire maggiori dettagli? Collegamenti a riferimenti, collegamenti ad altre richieste (se disponibili), un esempio, schermate,...
Grazie!