cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
EDW
EDW
Level I

JSL - Replacing Column Values with Vector

I'm attempting to script a function that replaces a range of column values with a vector of equal dimension. My code below either rejects the argument entirely or just changes the entire cell value to the vector, rather than spanning the range. I can imagine creating a "for loop" that would iterate through each row and and index the vector accordingly, but writing one value at a time seems inefficient, especially since my actual spreadsheet has about 100k rows. Here is a simple example of my process:

 

Names Default To Here( 1 );

//Example Table
dt = New Table( "Example", Add Rows( 10 ), New Column( "Test", <<Set Each Value( 1 ) ) );

Wait( 1 ); //Demonstration Purposes

x = [10, 10, 10];
:Test[3 :: 5] = x;

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: JSL - Replacing Column Values with Vector

Here is an old school way to do this:

Names Default To Here( 1 );

//Example Table
dt = New Table ("Example",
	Add Rows ( 10 ),
	New Column ( "Test", << Set Each Value ( 1 ) );
);

Wait (1); //Demonstration Purposes

x = [10, 10, 10];
start=3;
for(i=1,i<=nrows(x),i++,
	:test[i+start-1]=x[i]
);
Jim

View solution in original post

1 REPLY 1
txnelson
Super User

Re: JSL - Replacing Column Values with Vector

Here is an old school way to do this:

Names Default To Here( 1 );

//Example Table
dt = New Table ("Example",
	Add Rows ( 10 ),
	New Column ( "Test", << Set Each Value ( 1 ) );
);

Wait (1); //Demonstration Purposes

x = [10, 10, 10];
start=3;
for(i=1,i<=nrows(x),i++,
	:test[i+start-1]=x[i]
);
Jim