본문 바로가기

분류 전체보기163

[SAS] sas에서 obs를 생성하는 방법. 누적 숫자값을 가진 변수 생성 방법 sas에서 관측치를 구별하는 유니크한 값을 만들거나 obs값을 가진 변수를 생성하고 싶을때 사용하는 방법이다. 사진을 이용해 간단하게 알아보자.[아래 사진 참조] 위의 사진을 보면 jin이라는 테스트 데이터는 id와 cost라는 두개의 변수로 구성된 데이터셋이다. 옆에 변수를 하나더 생성하는데 1씩 증가하는 누적값을 가진 변수를 하나 생성해 보는 것이다. [코딩설명] retain은 변수를 순서대로 나열할때도 자주 사용되지만 초기값을 지정할때도 사용이 된다. retain obs_num 0; obs_num이라는 새로운 변수를 생성하는데 초기값을 0으로 지정한다. obs_num+1; obs_num에 1을 더한다. 이렇게 실행하면 첫번째 관측치가 초기값 0으로 지정되고 그 밑의 명령어에 의해서 1값이 더해진다... 2014. 4. 15.
[R프로그램] rep함수 R프로그램의 rep함수에 대해서 알아보자. rep(반복할 값, 반복횟수) 로 나타낼수가 있다. 반복적인 값을 입력할 경우에 사용되며 더미(dummy) 변수로 값을 생성할 때 자주 사용된다. 위의 사진을 예를 들면 7이란 값을 10번 반복하겠다는 말이다. 결과를 봐도 7이라는 값이 10개가 생성됬음을 알 수 있다. rep의 times 옵션은 반복수를 말하는데 입력해도 되고 안해도 상관 없다. 문자형 데이터도 가능하다. jin이라는 문자를 3번 반복한다는 것인데 역시나 jin이라는 값이 3개가 생성이 되었다. each옵션은 간단하게 설명하자면 각각 반복해라는 옵션이다. 위의 사진을 예로 들면 0부터 2의 값을 각각 3번씩 반복하라는 의미이다. 결과도 마찬가지로 0을 3번, 1을 3번 2를 3번 각각 반복하여.. 2014. 4. 11.
[R프로그램] seq 함수 R프로그램의 seq함수에 대해서 알아보자. seq(from=시작, to=끝, by=간격) 이렇게 표현할 수가 있는데 시작부분과 끝부분을 정한뒤 간격을 입력해주면 그 조건에 맞게 값을 생성하는 것이다. 위의 사진을 보면 0을 시작으로 10까지 2간격으로 값을 생성한 것이다. from, to, by를 입력하지 않고 수치만 입력해도 무방하다. 위의 사진은 0을 시작으로 10까지 값의 길이?를 5개만 출력하라는 것이다. 시작과 끝의 값을 기준으로 간격이 일정한 값 5개를 생성하는 것이다. from과 to는 맨 위의 사진과 동일하게 입력하지 않아도 무방하지만 마지막 length는 입력해야한다. 이유는 미입력시 5를 by(간격)로 인식하여 결과값이 0, 5, 10으로 생성이 되기 때문이다. 위의 사진은 간단하게 수.. 2014. 4. 11.
[R프로그램] 수열 생성하는 방법 R프로그램을 이용하여 수열을 생성하는 방법을 알아보자. 수열은 설명하면 일정한 규칙으로 자연수를 정의역으로 하는 함수인데 이해하기 쉽게 규칙이 있으면 그 규칙에 맞게 일정하게 숫자가 늘어나거나 줄어드는 것으로 뭐 여러 등차, 등비, 조화수열 등으로 구분할 수 있다. 위의 사진을 보면 수열을 간단하게 생성해 본 사진이다. 1:7은 1부터 7까지 +1씩 증가한다는 말이다. 결과처럼 1, 2, 3, 4, 5, 6, 7 의 결과가 나옴을 알 수가 있다. 1:5의 값인 즉 1, 2, 3, 4, 5를 jin 이라는 변수로 할당을 하였다. 위의 사진은 이전과 반대인 높은 숫자부터 낮은 숫자 즉, 역으로 수열을 생성할때 사용한다. 방식은 같으며 높은 숫자부터 입력하면 된다.(위의 사진 참조) www.sasbigdata.. 2014. 4. 11.
[R프로그램] 변수와 벡터를 생성하는 방법 R프로그램에서 변수와 벡터를 생성하는 방법에 대해서 알아보자. [변수와 벡터생성] 생성할 변수명은 왼쪽에 입력한다. 아래의 사진과 같이 변수명을 입력한 뒤, ' 2014. 4. 10.
[SAS] sas array배열과 do를 이용해서 여러변수들의 특정관측치 찾아내는 방법 sas에서 여러 변수들 중에 특정값을 찾아내는 방법을 알아보자. [아래 사진 참조] test데이터셋은 변수 jini1부터 jini5까지로 총 5개의 변수로 구성된 데이터 셋이다. 여기서 변수들에 대해서 777이라는 값이 있는 경우의 행을 모두 가져오는 것이다. array는 배열을 뜻하는데 위의 사진에서 처럼 ace는 임의로 ace라는 배열을 만든 것이다. ace뒤에 수치가 아닌 *를 입력하면 모든 변수에 대해서 알아보는 것이고 jini1-jini5 부분에 _numeric_ 을 입력하면 모든 변수중 수치형변수에 대해서 알아보라는 것으로 설정할수도 있다. _character_를 입력하면 위와 같이 모든 변수중 문자형 변수에 대해서 알아보라는 것이기도 하다. 모든 변수는 _all_ 을 입력하면 된다. 모든 변.. 2014. 4. 9.
[SAS] sas에서 문자형(character)를 수치형(numeric)으로 변환방법(수치형을 문자형으로도 포함) sas에서 변수속성을 바꾸는 방법을 알아보자. 숫자형(numeric)변수를 문자형(character)변수로 변환하는 방법과 반대로 문자형(character)변수를 숫자형(numeric)변수로 변환하는 방법을 간단하게 예를 통해 알아보도록 한다. 임의로 생성한 test 예제 데이터이다. 아래사진참조 base라는 데이터셋에는 10자리 문자형 변수인 ace라는 변수가 있다. 위의 문자형 변수인 ace변수의 데이터를 numeric이라는 수치형변수로 생성하는 것이다. numeric=input(ace,10.)은 문자형변수 ace의 속성을 바꿔 numeric이라는 수치형변수로 생성을 하는데 ace변수의 관측값의 10자리까지 가져오겠다는 것이다. 즉, 10.이 아닌 7.을 사용할 경우 1234567까지 7자리만 가져오.. 2014. 4. 9.
[R프로그램] R 스튜디오 구성화면에 대한 설명 R스튜디오를 실행하면 총 4개의 창이 뜬다. 처음보면 이것들이 뭘 의미하는 창들인지 이해가 되지 않기 때문에 간단하게 R스튜디오의 구성화면에 대해서 알아보자. [R스튜디오 구성화면] 위의 사진의 각각의 창에 번호대로 설명을 하겠다. 1. 스크립트 창 : R명령어를 입력하는 창. 2번의 콘솔창에 명령어를 입력도 가능하지만 재실행이 불가능하다. 그러므로 항상 스크립트 창에 입력해 명령어를 저장한다. 명령어 실행방법은 실행하려는 문장에 커서를 두고, ctrl(컨트롤키)+enter(엔터키)를 동시에 눌러주면 콘솔창에서 명령어가 실행된다. 2. 콘솔 창 : 1번의 스크립트 창에서 실행한 명령문이 실행되는 것을 보는 곳. 오류 발생시 sas의 로그창 개념처럼 콘솔창에 에러 메세지가 뜬다. 3. 워크스페이스 창 : .. 2014. 4. 8.
[SAS] sas에서 데이터셋에 조건에 맞는 값들을 뽑아내 각각의 데이터셋으로 저장하는 방법 sas에서 데이터셋안의 조건에 맞는 값들을 각각 뽑아내서 따로따로 각각의 데이터셋으로 저장하는 방법을 알아보자. [사진참조] 위의 코딩을 보면 total에는 num과 cost 두개의 변수를 가진 총 4개의 관측치가 있다. 코딩 설명 data a b; 데이터셋 a와 b를 생성해라. set total; 데이터셋 total을 가져와라. if num='aaa' then output a; 만약 num값이 aaa이면 a데이터셋으로 보내라. else if num='bbb' or num='ccc' then output b; 만약 num값이 bbb이거나 ccc이면 b 데이터셋으로 보내라. run; 실행해. 위의 결과창을 보면 a와 b라는 데이터셋이 생기면서 각각 조건에 맞는 값들이 저장된 것을 확인 할 수가 있다. sa.. 2014. 4. 7.
[SAS] sas 문자형(Character) 변수 숫자형(Numeric) 변수로 바꾸기, 숫자형을 문자형으로 바꾸는 방법 sas에서 변수가 문자형(Character)인 경우 숫자형(Numeric)으로 바꾸는 방법과 그 반대 방법인 숫자형인 경우 문자형으로 변수속성을 바꾸는 방법을 알아보자. 아래 사진 참조 위의 사진을 보면 k라는 변수는 수치형(Numeric) 데이터이다. 이 데이터의 속성을 문자형(Character)으로 바꾸는 방법을 알아보자. 코딩 해설 length 를 이용해서 k1이란 변수를 만들어 문자형 20자리라고 길이와 속성을 지정한다. k1 = put ( k , 8.) 은 8자리 길이를 가진 수치형 변수 k를 k1으로 내보낸다. 코딩이랑 해설을 천천히 보면서 실행해보시면 이해가 되실겁니다. 결과창을 보면 k와 k1은 값은 같지만 속성을 보면 k1은 수치형이 아닌 문자형 20자리로 되어있는 것을 알수 있음. 위의.. 2014. 4. 4.
[SAS] sas proc univariate 로 히스토그램 그리기(percent) sas에서 proc univariate 간단하게 히스토그램을 그리는 방법을 알아보자. 데이터는 아래와 같다. proc univariate를 이용해서 위 데이터로 히스토 그램을 그리는 방법이다. endpoints 옵션을 설명하면 그래프에서 X축의 범위를 지정해주는 것이다. 위의 코딩을 예로 들면 그래프 X축을 -120부터 120까지 10단위로 그리겠다는 뜻이다. vaxis는 세로축 범위를 지정하는 것인데 0부터 30까지 1단위로 그린다는 뜻이다. 사진이 흐릿하여 잘 보이지 않겠지만 위의 코딩을 실행하면 위 그림과 같이 히스토그램이 그려진다. x축과 y축이 지정한 범위대로 출력되었으며 출력범위를 지정하지 않을 경우 sas가 데이터에 맞게 임의로 설정한다. 주의할 점은 y축이 나타내는것이 빈도가 아닌 전체의 .. 2014. 4. 3.
[SAS] sas에서 그룹안에 특정값이 함께 있는 경우와 없는 경우 건수 알아내는 방법 sas에서 그룹에 속한 데이터들 중에 특정값이 포함되있는 경우와 없는 경우의 건수를 알아내는 방법을 알아보자. 이 과정을 참 언어로 풀어내기가 어렵기 때문에 천천히 문제를 이해하고 과정을 알아본다. 아래의 사진을 참조하자. 알고싶은 것은 group별로 name의 관측값들중에 AQ로 시작하는 데이터값이 포함 되어 있는 경우와 아닌 경우가 그룹단위로 몇건인지를 알고 싶은 것이다. 결과 값과 비교해보면 c1인 경우 HD1은 AQ1과 같은 그룹에 속해있으므로 1건이 카운트 된다. 하지만 key변수 444에서 c1에서는 AQ1이 없으므로 아닌 경우도 1건이 카운트 되는 것이다. 이와 같이 HD2 또한 마찬가지로 카운트가 된다. HD3인 경우에는 key변수 111의 c1그룹에는 아예 값이 없으며, key변수 444.. 2014. 4. 2.