일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TensorFlow Tutorials
- 행복
- 강화학습
- deep learning
- 인공지능
- Andrej Karpathy
- 한국어
- DeepLearning
- Artificil Intelligence
- 질문
- tutorials
- 딥러닝
- openai
- 꿈
- cs231n
- machine learning
- 매크로
- Reinforcement Learning
- Tutorial
- 신경망
- Hvass-Lab
- 답변
- 사랑
- SAS
- 번역
- tensorflow
- 머신러닝
- 세상
- SQL
- neural networks
- Today
- Total
Economics & Deeplearning
proc freq 관측치 카운트 질문입니다! 본문
data a;
구조가
a b c d
1 m y g
2 g k
3 g
4 k d
이런식으로 있을 경우
a,b,c,d 변수 안에 g라는 관측치가 몇개인지 알고 싶습니다.
예제를 볼경우 g= 3개가 되겠죠?
저는 그냥 변수별로 데이터를 따로 만들어서 set으로 다 붙여가지고 proc freq문을 이용해 빈도수를 구했는데
변수별로 데이터를 나누지 않는 다른 방법은 없는 건가요?
if문을 이용하려고 했지만 예제는 관측치 종류가 m y g d k 처럼 몇개 안되지만 실제데이터는 수백개나 되거든요
sas 고수님들 답변좀 달아주세요^^(예문으로 코딩으로 달아주시면 감사하겠습니다 ㅋ)
================================================================================
그럼 이렇게 해보세요 all 이라는 변수를 만들고 all 변수에는 a~d 까지 모든 변수값을 다 넣어줍니다. 그리고 그것의 빈도를 세는 거죠. 돌려보니 d=1 개 g=3개 k=2개 m=1개 y=1개로 나오네요.
data a;
infile cards missover dlm=',';
input a $ b $ c $ d $;
cards;
m, y, g, ,
g, , , k
, , g,
k , , d
run;
proc contents data=a out=a_1 noprint;
run;
%macro count;
data _null_;
set a_1 end=eof nobs=cnt;
call symput ('name'||left(_n_),name);
if eof then call symput ('cnt',cnt);
run;
data b;
set a;
%do i=1 %to &cnt;
all=&&name&i; output;
%end;
keep all;
run;
proc freq data=b;
table all;
run;
%mend;
%count;
'SAS > SAS 질문과 답변' 카테고리의 다른 글
자료의 열 위치가 다를 경우, input 문을 어떻게 해야 하나요? (0) | 2016.02.20 |
---|---|
매크로를 활용한 변수 생성 관련 질문입니다. (0) | 2016.02.20 |
어떤 PROC문인지 해석 좀 부탁드립니다 ㅠㅠ (0) | 2016.02.20 |
변수값을 끌어와서 데이터셋 이름을 바꾸려면 어떻게 할까요? (0) | 2016.02.20 |
한변수 쪼개기 (0) | 2016.02.20 |