stata 구문의 가변 길이 문자열 인수

Jlperla

데이터를 정리하기 위해 변수 목록을 가져 와서 문자열 목록을 빈 문자열로 바꾸는 함수를 작성하고 있습니다. 문제를 해결하는 코드가 있지만 가변 길이 문자열 목록을 인수로 사용하는 방법을 배우고 싶습니다.

간단한 버전을 이해하기 위해 다음은 myval1 및 myval2의 "X"를 빈 문자열로 대체하고 다음과 같이 호출됩니다.

 replace_string_with_empty myval1 myval2, code("X")

코드는

 capture program drop replace_string_with_empty
 program replace_string_with_empty
      syntax varlist(min=1), Code(string)
      foreach var in `varlist' {
           replace `var' = "" if `var' == "`code'"
      }
 end

하지만 코드가 여러 개 있으면 어떻게 되나요? 이 작업을 수행하는 더 깨끗한 방법이있을 수 있다는 사실을 잊고 이것을 다음과 같이 부르고 싶습니다.

 replace_string_with_empty myval1 myval2, codes("X" "NONE")

하지만 구문 명령 등에서 유형을 파악할 수 없습니다. 예를 들어 다음은 작동하지 않습니다.

 capture program drop replace_string_with_empty
 program replace_string_with_empty
      syntax varlist(min=1), Codes(namelist)
      foreach var in `varlist' {
           foreach code in `codes' {
               replace `var' = "" if `var' == "`code'"
           }
      }
 end

어떤 아이디어? (다시 말하지만,이 정확한 문제를 해결하는 더 좋은 방법이 있다고 확신하지만 syntax다른 작업에도이 방법을 사용하는 방법을 알아 내고 싶습니다 .

디미트리 V. 마스터 로프

여기에 한 가지 접근 방식의 간단한 예가 있습니다. asis옵션은 따옴표 만 남겨 두지 만 null로 다시 코딩 할 문자열을 참조 할 때 복합 따옴표를 사용해야합니다.

capture program drop replace_string_with_empty    
program replace_string_with_empty
syntax varlist(min=1 string), Codes(string asis)
tokenize `"`codes'"'
while "`1'" != "" {
    foreach var of varlist `varlist' {
        replace `var' = "" if `var'==`"`1'"'
    }
    macro shift
}
end

sysuse auto, clear
clonevar make2=make
replace_string_with_empty make*, codes("AMC Concord" "AMC Spirit" "Audi 5000") 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

인수로 전달 된 가장 긴 문자열의 길이

분류에서Dev

각 문자열 인수의 길이

분류에서Dev

길이가 20 인 문자열을 길이가 20 인 부동 소수점으로 변환

분류에서Dev

목록 길이가 1 인 행만 문자열로 변환

분류에서Dev

Stata의 루프에서 다양한 문자열 변수 삭제

분류에서Dev

목록 구분 기호와 문자열 끝을 바꾸기위한 가변 길이 음의 룩 비하인드

분류에서Dev

문자열 변수 (Stata)에서 하위 그룹에 레이블 지정

분류에서Dev

XML 노드의 문자열 길이를 확인할 수있는 도구가 있습니까?

분류에서Dev

길이가 n 인 문자열을 nx len (알파벳)의 행렬로 변환

분류에서Dev

가변 길이 목록의 문자열을 어떻게 인쇄합니까?

분류에서Dev

두 문자 사이의 가변 길이 부분 문자열

분류에서Dev

PHP : 길이가 0 인 문자열의 배열 구문이 문자열을 배열로 캐스팅하는 이유는 무엇입니까?

분류에서Dev

문자열에서 가변 길이 문자열의 여러 인스턴스 찾기

분류에서Dev

문자열에서 가변 길이 문자열의 여러 인스턴스 찾기

분류에서Dev

변수 배열 자바에서 문자열 길이 가져 오기

분류에서Dev

문자열 길이 함수

분류에서Dev

cobol을 사용하여 변수의 길이 문자열 계산

분류에서Dev

템플릿 매개 변수에서 문자열의 constexpr 길이

분류에서Dev

홀수 Stata 문자열 변수를 날짜로 변환

분류에서Dev

가장 긴 문자열의 길이를 가져 오는 함수

분류에서Dev

문자열 길이가 홀수인지 짝수인지 찾는 프로그램

분류에서Dev

Stata 루프에서 문자열을 숫자와 연결하여 변수 정의

분류에서Dev

문자열에서 가변 길이가 될 수있는 코드 추출

분류에서Dev

Stata : 조건에 따라 문자열 변수 연결

분류에서Dev

잘못된 문자 Stata로 변수 이름 바꾸기

분류에서Dev

Stata는 변수 이름을 사용하여 숫자 데이터를 문자열로 읽습니다.

분류에서Dev

구문 분석 된 줄의 문자가 파이썬에서 문자열 변수의 일부인지 확인하는 방법

분류에서Dev

Ruby의 문자열 길이 수정

분류에서Dev

고정 길이 문자열에 가변 길이 문자열 할당

Related 관련 기사

  1. 1

    인수로 전달 된 가장 긴 문자열의 길이

  2. 2

    각 문자열 인수의 길이

  3. 3

    길이가 20 인 문자열을 길이가 20 인 부동 소수점으로 변환

  4. 4

    목록 길이가 1 인 행만 문자열로 변환

  5. 5

    Stata의 루프에서 다양한 문자열 변수 삭제

  6. 6

    목록 구분 기호와 문자열 끝을 바꾸기위한 가변 길이 음의 룩 비하인드

  7. 7

    문자열 변수 (Stata)에서 하위 그룹에 레이블 지정

  8. 8

    XML 노드의 문자열 길이를 확인할 수있는 도구가 있습니까?

  9. 9

    길이가 n 인 문자열을 nx len (알파벳)의 행렬로 변환

  10. 10

    가변 길이 목록의 문자열을 어떻게 인쇄합니까?

  11. 11

    두 문자 사이의 가변 길이 부분 문자열

  12. 12

    PHP : 길이가 0 인 문자열의 배열 구문이 문자열을 배열로 캐스팅하는 이유는 무엇입니까?

  13. 13

    문자열에서 가변 길이 문자열의 여러 인스턴스 찾기

  14. 14

    문자열에서 가변 길이 문자열의 여러 인스턴스 찾기

  15. 15

    변수 배열 자바에서 문자열 길이 가져 오기

  16. 16

    문자열 길이 함수

  17. 17

    cobol을 사용하여 변수의 길이 문자열 계산

  18. 18

    템플릿 매개 변수에서 문자열의 constexpr 길이

  19. 19

    홀수 Stata 문자열 변수를 날짜로 변환

  20. 20

    가장 긴 문자열의 길이를 가져 오는 함수

  21. 21

    문자열 길이가 홀수인지 짝수인지 찾는 프로그램

  22. 22

    Stata 루프에서 문자열을 숫자와 연결하여 변수 정의

  23. 23

    문자열에서 가변 길이가 될 수있는 코드 추출

  24. 24

    Stata : 조건에 따라 문자열 변수 연결

  25. 25

    잘못된 문자 Stata로 변수 이름 바꾸기

  26. 26

    Stata는 변수 이름을 사용하여 숫자 데이터를 문자열로 읽습니다.

  27. 27

    구문 분석 된 줄의 문자가 파이썬에서 문자열 변수의 일부인지 확인하는 방법

  28. 28

    Ruby의 문자열 길이 수정

  29. 29

    고정 길이 문자열에 가변 길이 문자열 할당

뜨겁다태그

보관