Hola, yo uso JMP 11.1.1
Tengo un guión. Intento generar algunas columnas nuevas agregando un número decimal al nombre de la columna. aquí está el
guión:
New Table( "Tokens",
Add Rows( 3 ),
New Script(
"Source",
Open(
"C:\Users\",
columns( Column( "Visual_ID", Character, Nominal ), ),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Scan Whole File( 0 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
),
New Column( "Visual_ID", Character, Nominal, Set Values( {"88", "89", "94"} ) ),
New Column( "FF", Character, Nominal, Set Values( {"Y83", "YA8", "654"} ) ),
New Column( "Bipping",
Character,
Nominal,
Set Selected,
Set Values(
{"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|17|18|18",
"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|18|18|18",
"19|18|18|18|17|18|16|18|18|19|21|19|19|18|18|17|16|16|17"}
)
),For( ii = 1, ii<19, ii++,
New Column ("My_Column_" || Char(ii),
Character,
Nominal,
Formula(
Word( ii, As Column( Column( "Bipping" ) ), "|" )
)
)
)) )
El bucle al final del código no funciona ...
@txnelson : Creo que esas tres secciones de código se supone que son un solo script continuo.
@ axcelenator1 : Prueba esto:
Names default to here( 1 );
//Make the data table
dt = New Table( "Tokens",
Add Rows( 3 ),
New Column( "Visual_ID", Character, Nominal, Set Values( {"88", "89", "94"} ) ),
New Column( "FF", Character, Nominal, Set Values( {"Y83", "YA8", "654"} ) ),
New Column( "Bipping",
Character,
Nominal,
Set Selected,
Set Values(
{"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|17|18|18",
"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|18|18|18",
"19|18|18|18|17|18|16|18|18|19|21|19|19|18|18|17|16|16|17"}
)
)
);
//Then add columns to it.
For( ii = 1, ii<19, ii++,
dt << New Column ("My_Column_" || Char(ii),
Character,
Nominal,
Formula(
Word( ii, As Column( Column( "Bipping" ) ), "|" )
)
)
);Ups, debería ser
New Column( "My_Column" || Char( ii ),
Para poder concatenar 2 valores, ambos deben ser valores de cadena. La variable "i" es numérica. Para corregir el problema, colóquelo en una función Char () mientras realiza la concatenación.
New Column( "My_Column" || Char( I ),