100개 이상의 열에 대해 행의 최대, 최소 날짜 값을 찾기 위한 스크립트 방법500개 이상의 행과 100개 이상의 열이 있는 테이블이 있습니다. 숫자 값(날짜)으로 채워집니다. 가장 빠른 날짜와 가장 늦은 날짜에 대해 각 행의 최대값과 최소값을 찾아야 합니다. 나는 스크립트가 각 행에 대해 '최대 (column1........column100)'과 유사할 것이라고 생각합니다. 하지만 각 행을 따라 열 범위를 스크립팅하는 방법을 잘 모르겠습니다.
고급 통계 모델링자동화 및 스크립팅데이터 혼합 및 정리대량 맞춤화Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법아마도 이 공식은
If( Row() == 1,
nc = N Cols( Current Data Table() )
);
Mean( As Column( nc - 4 ), As Column( nc - 3 ),
As Column( nc - 2 ), As Column( nc - 1 ) );
당신이 찾고 있는 방향으로 무언가가 되어라
Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법각 열에 매일의 값이 있다는 점을 고려하세요. 그리고 지난 4일 데이터의 평균(평균 4개 열)을 가져와서 새 열에 넣어야 합니다. 이 새 열에 대한 수식을 어떻게 만듭니까? 수식 내부의 참조가 매일 바뀌는 곳은 어디입니까?Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법데이터 테이블의 10번째부터 끝까지만 사용하려는 경우 열 지정에 사용되는 목록의 요소를 변경할 수 있습니다.이전에 제출한 수식을 수정한 내용은 다음과 같습니다.
If( Row() == 1,
theList = Current Data Table() << get column names( );
remove from( theList, 1, 9 );
);
Max( theLIst );
목록 수정에 대한 문서는 스크립팅 가이드에서 찾을 수 있습니다.
Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법여기에 한 가지 방법이 있습니다. 불분명한 부분을 이해하려면 '도움말 > 스크립팅 색인' 및 'JSL 스크립팅 가이드'를 사용하세요.
NamesDefaultToHere(1);
// Make some data
nr = 100;
nc = 50;
dt = AsTable(J(nr, nc, RandomNormal(0, 1)));
dt << setName("Some Random Continuous Columns");
// Define a contiguous range of columns to consider
startColNum = RandomInteger(1, Floor(nc/2));
endColNum = RandomInteger(Ceiling(nc/2), nc);
// Get the list of columns to include in the formulas
allCols = dt << getColumnNames;
myCols = allCols[startColNum::endColNum];
// Add the required formulas
CMD = Expr(dt << NewColumn("Row Maximum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Max(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
CMD = Expr(dt << NewColumn("Row Minimum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Min(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법스크립트에서 범위를 지정하는 방법, 스크립트에서 사용할 정확한 기호/문자는 무엇입니까? 그게 내가 관심 있는 거야Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법내 생각엔 간단할 것 같아. Min(:Col1, :Col2,....,:Coln) 수식을 사용하여 새 열을 만듭니다.
모든 열을 수식 편집기로 끌어서 놓을 수 있습니다.Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법모든 열이 아닌 특정 범위의 열만 사용하려면 어떻게 스크립트를 작성해야 하나요? 모든 행에 대해 10번째 열부터 100번째 열까지만 사용하고 싶다고 가정해 보겠습니다. 이걸 어떻게 스크립트로 쓰나요?Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법다음은 데이터 테이블에서 모든 연속 열을 찾은 다음 해당 열의 최대값을 계산하는 간단한 수식입니다.새 열의 수식으로 사용하십시오.
If( Row() == 1,
theList = Current Data Table() << get column names( continuous )
);
Max( theLIst );
Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법안녕 @돈카츠2020 ,
고려해야 할 사항은 데이터 테이블이 "방향"인지 또는 올바른 방식으로 정렬되어 있는지 여부입니다. 일반적으로 데이터가 포함된 단일 열을 원할 것이며 행은 현재 보고 있는 항목의 새로운 인스턴스가 될 것입니다.
데이터 전치를 고려할 수도 있습니다. 그런 다음 Col Maximum() 및 Col Minimium()을 찾는 것이 쉽습니다. 그러나 이것은 당신이 원하는 것이 아닐 수도 있습니다. 테이블의 익명화된 버전을 공유할 수 있나요? 이는 데이터가 어떻게 구성되어 있는지, 그리고 데이터로 무엇을 하려는지 이해하는 데 도움이 될 수 있습니다.
DS
Re: 100개 이상의 열에 대한 행의 최대, 최소 날짜 값을 찾는 스크립트 방법안녕,
데이터 전치를 고려해 보셨나요(행이 열이 되고 상호적으로)? 그런 다음 Col 최소값 및 Col 최대값 수식을 사용할 수 있습니다.
최상의,
TS