1에서 n까지의 열을 선택하는 방법열 번호로 열 전치를 선택하려고합니다.
컬럼이 너무 많아서 컬럼(1)에서 컬럼(n)으로 선택하는 방법이 있나요?
현재 n>9999일 때 작동하지 않는 아래 방법을 사용하고 있습니다.
감사해요
바꾸어 놓다(
열(
열(3),
열(4),
..............
열( 9999 ))
스크립팅Re: 1부터 n까지의 컬럼을 선택하는 방법먼저 열 이름이 있는 문자열 목록을 만든 다음(예제에서는 transform Each와 index를 사용하여 이를 수행하는 여러 가지 방법) Columns()에서 Eval을 사용합니다.
이 같은:
Names Default To Here(1);
//setup example data
dt = Open("$SAMPLE_DATA/Blood Pressure.jmp");
Column(3) << Set Name("1");
Column(4) << Set Name("2");
Column(5) << Set Name("3");
Column(6) << Set Name("4");
Column(7) << Set Name("5");
col_list = Transform Each({num}, AsList(Index(1, 5)`), Char(num)); //JMP16
dt << Transpose(
columns(Eval(col_list)),
By(:Dose),
Label(:Subject)
);Re: 1부터 n까지의 컬럼을 선택하는 방법다음은 변환하려는 열 번호를 지정할 수 있는 문제에 대한 제 의견입니다.
Names Default To Here( 1 );
//setup example data
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
// add a complex col name to insure script can handle them
dt:bp 8m << set name( "BP+8M" );
// make table large
For( i = 1, i <= 11000, i++,
dt << New Column( Column( dt, Mod( i, 9 ) + 3 ) << get name,
set each value( As Column( dt, Mod( i, 9 ) + 3 ) )
)
);
// get rid of first 2 non useful columns
dt << delete columns( 1, 2 );
// get list of col names
colList = dt << get column names();
//set column numbers to be used
startColNum = 5;
endColNum = 10100;
// transform columns
transList = {};
For( i = startColNum , i <= endColNum, i++,
Insert Into( transList, colList[i] )
);
dt << Transpose( columns( transList ) );