최대 값 추출하기안녕 모두, 난 열 이름 주위에 루프와 내가 사용하고자하는 것들을 찾을 스크립트를 해결했다. 그런 다음 셀의 행 번호와 값을 찾습니다. 그러나 이러한 값은 모든 열에 대해 반복됩니다. 아무도 내가 잘못 가고있는 곳으로 나를 가리킬 수 있습니까?
다음은 스크립트입니다.
dt = current data table();
col = dt << get column names( string );
nc = N Items( col );
Row = 1;
For( i = 1, i <= nc, i++,
for(r=1, r<=NRow(dt), r++,
Col1 = Column(dt,i);
If( Contains( col[i], "Prediction" ),
If(Column(dt, col[i])[r] > 5 | Column(dt, col[i])[r] > 4.5,
show(col[i]);
val = abs(Col Max( Col1 ));
show(val);
MaxRow = dt << get rows where(as column(Col1)==abs(Col Max( Col1 )));
show(MaxRow);
)
)
)
); <BR /><BR />The log looks like this:<BR /><BR />col[i] = "Prediction B";<BR />val = 6.6;<BR />MaxRow = [6];<BR />col[i] = "Prediction B";<BR />val = 6.6;<BR />MaxRow = [6];<BR />col[i] = "Prediction B";<BR />val = 6.6;<BR />MaxRow = [6];<BR />col[i] = "Prediction C";<BR />val = 5;<BR />MaxRow = [1];<BR />
최대 : 최대 추출내가 제공 한 예시 목록은 실제로 다음과 같이 지정되어야한다고 생각합니다.
a={ [12], [13], [14],[15,16] };
귀하의 예는 목록 {}이 아닌 행렬 []의 구문을 지정했습니다. 행렬로, 당신의 예제는 유효하지 않습니다. 그래서 저는 여러분이 가지고있는 것이 목록이라는 가정을 해답을 줄 것입니다.
표시하는 목록에는 여러 개의 matricies가 들어 있습니다. 데이터를 가져 오기 위해 수행해야하는 모든 작업은 목록 및 행렬에 대한 첨자를 올바르게 지정하는 것입니다. 예를 들어, 예에서 숫자 13을 빼내려면 다음을 지정하십시오.
x = a[2][1]
"x"는 13의 값을 포함합니다. 마찬가지로 목록에서 네 번째 행렬의 두 번째 요소를 검색하려면 [15,16]을 지정합니다.
x = a[4][2]
각 matricies의 첫 번째 요소를 모두 가져 와서 간단한 목록으로 옮기려면 목록에서 "a"라고하는 요소를 반복하고 첫 번째 행렬 요소를 추출해야합니다
a = {[12], [13], [14], [15, 16]};
aList = {};
For( i = 1, i <= N Items( a ), i++,
Insert Into( aList, a[i][1] )
);
Show( aList );
결과는 다음과 같습니다.
aList = {12, 13, 14, 15};
최대 : 최대 추출그 이유는 모르겠지만 다음과 같은 목록이 있습니다.
a=[ [12], [13], [14],[15,16] ];
숫자를 추출하여 숫자 형식의 테이블에 추가하는 방법은 무엇입니까? 목록에있는 목록입니까? @uday_guntupalli 또한 위의 목록에서 [15,16]과 같은 값이 두 개 이상있는 경우 데이터 테이블에 15 개만 추가하면됩니다. 고맙습니다.
최대 : 최대 추출여보세요 @amy ,
어떤 데이터를 데이터 테이블에 저장 하시겠습니까?
게시 한 예제 스크립트에서 ColNames [i]는 모든 열 이름 목록 인 ColNames의 특정 값을 참조합니다. 이 열에 들어있는 샘플을 제공 할 수 있습니까?
시도하고있는 경로와 현재있는 경로가 정확합니다. 열에 전달할 데이터가 올바른지 확인하기 만하면됩니다. 다음은 간단한 예입니다.
Names = {"Rick","Tom","Sam"};
Age = [10,20,30];
Weight = [110,130,150];
dt = New Table("Test", Add Rows(N Items(Names)),
New Column("NamesOfStudents",Character,Nominal,<<SET values=""></SET>최대 : 최대 추출이 모든 값을 테이블에 저장하려면 어떻게합니까? @uday_guntupalli
dt1 = New Table( "Information",
New Column("ColName", character, nominal, values(ColNames[i])),
New Column("MaxVal", numeric, continuous, values(MaxVal)),
New Column( "Column", character, nominal, values (Col))
);최대 : 최대 추출죄송합니다. 정말 고맙습니다 @uday_guntupalli
최대 : 최대 추출 @amy ,
나는 스크립트가 당신이 밖으로 scritped 것을하고 있다고 생각합니다. 반복되는 값을 보는 이유는 "예측 B"열에 지정된 조건을 충족시키는 행, 즉 동일한 값이 반복적으로 인쇄되도록 3 개의 값이 있기 때문입니다. 최대 값을 인쇄하도록 요청했기 때문에 및 위치.
또는이 방법으로 시도 할 수 있습니다.
dt = Current Data Table();
// amy's approach
//col = dt << get column names( string );
//nc = N Items( col );
//Row = 1;
//For( i = 1, i <= nc, i++,
// For( r = 1, r <= N Row( dt ), r++,
// Col1 = Column( dt, i );
// If( Contains( col[i], "Prediction" ),
// If( Column( dt, col[i] )[r] > 5 | Column( dt, col[i] )[r] > 4.5,
// Show( col[i] );
// val = Abs( Col Max( Col1 ) );
// Show( val );
// MaxRow = dt << get rows where( As Column( Col1 ) == Abs( Col Max( Col1 ) ) );
// Show( MaxRow );
//
// )
//
// );
// )
//);
// alternatively
ColNames = dt << get column names( string );
for(i = 1, i <= N Cols(dt), i++,
If( Contains( ColNames[i], "Prediction" ),
Col = Column(dt,i); // get reference to column
MaxVal = Col Max(Col);
ColVals = As List(Col << Get Values);
If(MaxVal > 4.5,
Show(Col);
Show(MaxVal);
Show(Loc(ColVals,MaxVal));
);
);
);