열 값 레이블을 값으로 변환하는 방법은 무엇입니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕,
저는 커뮤니티에 처음 들어왔기 때문에(하지만 버전 1부터 JMP를 사용해 왔습니다), 이 질문을 어디에 두어야 할지 모르겠습니다.
값 레이블이 있는 여러 열이 있는 SPSS(.sav)에서 파일을 가져왔습니다. 값(숫자) 대신 값 레이블(실제 이름)을 사용하고 싶습니다. 녹화에는 이 기능이 없는 것 같습니다. 누구든지 도와줄 수 있나요? 많은 감사드립니다. 옌스
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?도움을 주신 모든 분들께 감사드립니다. 한동안 컴퓨터를 사용하지 않았지만 이제는 다시 JMP를 사용하여 작업하고 있습니다. 다양한 제안을 시도해보고 어느 것이 나에게 가장 빠른지 알아 보겠습니다.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?열을 레이블 열로 변환하는 또 다른 방법은 열을 복사하고 데이터를 스크립트 편집기 창(또는 텍스트 창)에 붙여넣는 것입니다. 그런 다음 텍스트 창에서 데이터를 복사합니다. 원본 테이블의 새 문자 열에 붙여넣습니다.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?나는 Karen의 아이디어를 대본으로 작성하려는 시도를 거부할 수 없었습니다. 값 라벨 가져오기 하나의 인수가 있는 표현식을 반환합니다: "할당" 목록, 예: 2 = "No". 나는 두 가지 접근 방식을 생각하게 되었습니다. 이러한 (불법) 할당을 직접 사용하거나 Xan이 제안한 대로 이를 조작하여 성냥 표현.
다음은 두 가지 접근 방식에 대한 나의 시도입니다. 여기서는 Match 접근 방식이 더 빠릅니다. 큰 테이블의 경우 많은 값에 레이블이 없으면 성능이 더욱 동일해지는 것으로 보입니다. 일치 코드가 개선될 수 있습니다.
open_example_table = Expr(
dt = Open( "$SAMPLE_DATA/CrabSatellites.jmp" );
col = Column( dt, "color" );
col << data type( character );
);
//1
open_example_table;
bt = HP Time();
// Direct assignment code
v = Arg( col << get value labels(), 1 );
For( i = 1, i <= N Items( v ), i++,
col[dt << get rows where( col[] == Arg( v[i], 1 ) )] = Arg( v[i], 2 )
);
// End direct assignment
ht = HP Time();
t1 = ht - bt;
Close( dt, no save );
// 2
open_example_table;
bt = HP Time();
// code for building Match expression by string manipulation
match_expr = Parse(
"Match( col[]," || Substitute( Char( Arg( col << get value labels(), 1 ) ),
"{", "",
"=", ",",
"}", ""
) || ",col[])"
);
For Each Row( col[] = match_expr );
// End Match
ht = HP Time();
t2 = ht - bt;
Show( t1, t2 );
t1 = 1729;
t2 = 1019;
//:*/
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?좋은 생각이야, 카렌.
젠스, 라벨을 데이터로 꺼내는 것은 쉽지 않습니다. 내가 생각할 수 있는 두 가지 방법은 다음과 같습니다.
- 스크립팅을 사용하면 값 레이블 가져오기를 사용하고 결과를 스크립트로 저장할 때 Recode가 생성하는 Match() 표현식과 유사하도록 결과를 수동 또는 프로그래밍 방식으로 조작할 수 있습니다.
- 변수에 대해 표 작성을 수행하고 결과에 대해 데이터 테이블로 만들기를 사용합니다.
#2의 경우 정렬된 일대일 매핑이 아닌 경우 항목을 일치시킬 수 있는 방법이 필요합니다. 이를 위한 단계:
- 새 열에 값 복사본 만들기(값 레이블 없음)

- 두 변수를 모두 범주 열로 사용하여 Tabulate를 사용합니다.


- 값 레이블 속성이 없는 새 테이블을 얻으려면 Tabulate 명령을 사용하여 데이터 테이블로 만듭니다.
- 테이블 > 조인을 사용하여 원시 값을 일치시키고 값 레이블 없이 "레이블이 지정된" 새 열을 가져옵니다.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?내 생각에 우리가 원하지만 지금은 갖고 있지 않은 것은 "값 레이블을 사용하여 다시 코딩하는 것"입니다.나 역시 가끔 이 기능을 원했다.
여자 이름
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?코드와 해당 값이 포함된 테이블이 있는 경우 UPDATE 명령을 사용하여 적절한 값 열을 추가할 수 있습니다.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?안녕하세요, 팁을 주셔서 감사합니다. 300개가 넘는 값 레이블이 있는데 이를 Recode에 수동으로 입력해야 합니다. 더 스마트한 방법이 있기를 바랐습니다.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?데이터 유형을 문자로 변경한 후 Recode를 사용하십시오.
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?안녕하세요 Stanley. 도와주셔서 감사합니다.값 레이블의 기능을 알고 있지만 필요한 것은 1,2,3 값을 No, Yes(예: 예에서와 같이) 문자 값으로 변경하거나 대체하는 것입니다.
두 테이블 중 하나에는 문자 값(다른 테이블의 값 레이블과 동일, 즉 코딩이 사용되지 않음)이 있고 다른 하나에는 값 레이블이 있는 숫자 값(코드)이 있는 일치하는 열이 있는 두 테이블을 조인해야 합니다.
아니면 한 테이블의 열 값 레이블과 다른 테이블의 일치하는 열에 있는 실제 값을 기반으로 즉석에서 테이블을 조인하는 방법이 있습니까?
친애하는
옌스
Re: 열 값 레이블을 값으로 변환하는 방법은 무엇입니까?안녕하세요,
귀하의 질문을 올바르게 이해하고 있다면.
열 속성을 통해 값 레이블을 켜거나 끌 수 있습니다.
이 예에서는 샘플 데이터의 소비자 선호도를 사용하여 다음을 수행할 수 있었습니다. 열을 마우스 오른쪽 버튼으로 클릭하고 값 레이블 옵션을 선택 취소합니다.

열은 아래와 같이 더 이상 값 레이블을 사용하지 않습니다.

이게 도움이 되길 바란다.
최상의,
스탠