여러 열의 여러 값을 다시 코드화안녕하세요 JMP 전문가 여러분,
데이터 테이블에서 103개의 데이터 열을 다시 코딩하려고 합니다. 각 열에서 발생해야 하는 재코딩이 상당히 많습니다. 이 게시물을 따르려고했습니다.
https://community.jmp.com/t5/Discussions/Recode-multiple-columns-with-JSL-script/mp/7865#M7859
그러나 "if" 대신 recode를 사용하십시오.
내 문제는 내가 사용한 "cols"에 있다고 생각합니다. 대상 열을 참조하고 "for" 내부의 각 루프를 사용하여 한 열에서 다음 열로 이동하는 방법을 잘 모르겠습니다.
도와주셔서 감사합니다!
cols = dtconcat << get column names;
For Each Row( For(i=1, i<=N Items(cols), i++,
cols(i) = Match( cols(i),
"NQ", "0",
"Nq", "0",
"NA", ".",
"N/A", ".",
">30", "30",
">20", "20",
"<5", "0",
"<2.00", "0",
"<2.0", "0",
"<2", "0",
"<1", "0",
"<0.5", "0",
"<0.01", "0",
"#N/A", ".",
"-", ".",
cols(i))
)
);
Re: 여러 열의 여러 값을 다시 코딩합니다.매우 감사합니다!Re: 여러 열의 여러 값을 다시 코딩합니다.2가지 문제가 있습니다.
- 아래 첨자를 사용하는 올바른 구문은 "( )"가 아니라 "[ ]"로 감싸는 것입니다.
- Cols[i]를 열 참조로 사용하도록 JMP에 알려야 합니다.
아래의 수정된 스크립트를 참조하십시오.
cols = dtconcat << get column names;
For Each Row(
For( i = 1, i <= N Items( cols ), i++,
As Column( cols[i] ) =
Match( As Column( cols[i] ),
"NQ", "0",
"Nq", "0",
"NA", ".",
"N/A", ".",
">30", "30",
">20", "20",
"<5", "0",
"<2.00", "0",
"<2.0", "0",
"<2", "0",
"<1", "0",
"<0.5", "0",
"<0.01", "0",
"#N/A", ".",
"-", "."
)
)
);