SAS - Veri Kümelerini Birleştirme

Birden çok SAS veri kümesi, tek bir veri kümesi vermek için belirli bir ortak değişkene dayalı olarak birleştirilebilir. Bu,MERGE ifade ve BYBeyan. Birleştirilmiş veri setindeki toplam gözlem sayısı, genellikle orijinal veri setlerindeki gözlem sayısının toplamından daha azdır. Bunun nedeni, her iki veri setini oluşturan değişkenlerin, ortak değişkenin değerinde bir eşleşme olduğunda tek bir kayıt olarak birleştirilmesidir.

Aşağıda verilen veri setlerini birleştirmek için iki Önkoşul vardır -

  • giriş veri setlerinin birleştirilmesi için en az bir ortak değişken olması gerekir.
  • girdi veri kümeleri, birleştirmek için kullanılacak ortak değişken (ler) e göre sıralanmalıdır.

Sözdizimi

SAS'daki MERGE ve BY ifadesinin temel sözdizimi şudur:

MERGE Data-Set 1 Data-Set 2
BY Common Variable

Aşağıda kullanılan parametrelerin açıklaması verilmiştir -

  • Data-set1,Data-set2 birbiri ardına yazılan veri seti isimleridir.

  • Common Variable veri kümelerinin eşleşen değerlerine göre birleştirileceği değişkendir.

Veri Birleştirme

Bir örnek yardımıyla veri birleştirmeyi anlayalım.

Misal

Biri ad ve maaşla birlikte çalışan kimliğini, diğeri de çalışan kimliği ve departmanı olan çalışan kimliğini içeren iki SAS veri kümesini düşünün. Bu durumda, her çalışan için eksiksiz bilgi almak için bu iki veri setini birleştirebiliriz. Nihai veri setinde yine de çalışan başına bir gözlem olacaktır, ancak hem maaş hem de departman değişkenlerini içerecektir.

# Data set 1	
ID NAME SALARY	
1 Rick 623.3		 
2 Dan 515.2 		
3 Mike 611.5 		
4 Ryan 729.1 
5 Gary 843.25 
6 Tusar 578.6 
7 Pranab 632.8 
8 Rasmi 722.5 

# Data set 2
ID DEPT
1 IT 
2 OPS
3 IT 
4 HR 
5 FIN 
6 IT 
7 OPS
8 FIN 

# Merged data set
ID NAME SALARY DEPT	
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN

Yukarıdaki sonuç, ortak değişkenin (ID) BY ifadesinde kullanıldığı aşağıdaki kod kullanılarak elde edilir. Lütfen her iki veri kümesindeki gözlemlerin zaten kimlik sütununda sıralandığına dikkat edin.

DATA SALARY; 
   INPUT empid name $ salary ; DATALINES; 1 Rick 623.3 2 Dan 515.2 3 Mike 611.5 4 Ryan 729.1 5 Gary 843.25 6 Tusar 578.6 7 Pranab 632.8 8 Rasmi 722.5 ; RUN; DATA DEPT; INPUT empid dEPT $ ; 
DATALINES; 
1 IT 
2 OPS
3 IT 
4 HR 
5 FIN 
6 IT 
7 OPS
8 FIN 
;
RUN; 
DATA All_details;
MERGE SALARY DEPT;
BY (empid);
RUN;
PROC PRINT DATA = All_details; 
RUN;

Eşleşen Sütunda Eksik Değerler

Ortak değişkenin bazı değerlerinin veri kümeleri arasında eşleşmediği durumlar olabilir. Bu gibi durumlarda veri kümeleri yine de birleştirilir ancak sonuçta eksik değerler verir.

Misal

Veri kümesi maaşında eksik çalışan kimliği 3 ve DEPT veri kümesinde eksik olan çalışan kimliği 6 durumunu düşünün. Yukarıdaki kod uygulandığında aşağıdaki sonucu alıyoruz.

ID NAME SALARY DEPT	
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 .		.		IT
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   .
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN

Sadece Maçları Birleştirmek

Sonuçta eksik değerlerden kaçınmak için, yalnızca ortak değişken için eşleşen değerlere sahip gözlemleri tutmayı düşünebiliriz. Bu,INBeyan. SAS programının birleştirme ifadesinin değiştirilmesi gerekiyor.

Misal

Aşağıdaki örnekte, IN= değer yalnızca her iki veri kümesindeki değerlerin bulunduğu gözlemleri tutar SALARY ve DEPT eşleşme.

DATA All_details;
MERGE SALARY(IN = a) DEPT(IN = b);
BY (empid);
IF a = 1 and b = 1;
RUN;
PROC PRINT DATA = All_details; 
RUN;

Yukarıdaki SAS programının yukarıdaki değiştirilmiş kısım ile yürütülmesi üzerine aşağıdaki çıktıyı alıyoruz.

1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN