Tenemos un usuario avanzado que sugirió agregar agregar Nomograma, curva de decisión DCA y NRI en el modelado predictivo. Estas funciones ahora son utilizadas por R y los usuarios esperan usarlas también en JMP, especialmente los usuarios médicos.
@mia_stephens
hola mia
Gracias por prestar atención a mi sugerencia.
Le he pedido al SE que programe un complemento combinando JMP con R.El JSL es el siguiente:
// 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 WindowGracias por la información.@clara , ¿hay algún script o complemento que pueda compartir?
Esto es lo que encontré en Wikipedia .Creo que este enlace también describe su uso. Es eso correcto @clara
hola mia
Nomograma, curva de decisión DCA y NRI se propone como características nuevas y avanzadas en el modelado predictivo por nuestro usuario senior de JMP en un hospital. Enseña a los médicos en el hospital cómo usar JMP. estos nuevos fu Las funciones se pueden hacer en R por el momento.
Voy a compartir sobre el nomograma primero esta vez.
El nomograma se usa comúnmente en investigaciones y artículos médicos y es muy popular entre los trabajadores médicos.
Hice una encuesta hace meses entre los médicos de los hospitales. Casi el 80-90% de los médicos necesitan usar el nomograma en sus trabajos. Le pedí a China SE que programara JSL por JMP y R y lo compartí con los clientes. Pero los clientes todavía quieren usar JMP para hacerlo directamente.
Si pudiéramos agregar el nomograma a JMP, JMP sería más competitivo entre esos trabajadores médicos.

¿Puede proporcionar más detalles? Enlaces a referencias, enlaces a otras solicitudes (si están disponibles), un ejemplo, capturas de pantalla,...
¡Gracias!