Saya berurusan dengan kumpulan data pengukuran berulang dalam format lebar. Setiap observasi mewakili satu pengukuran untuk satu subjek dan setiap subjek diukur sebanyak enam kali. Data tersebut sebagian besar berisi variabel dummy.
Saya ingin menghitung nilai variabel dummy unik di keenam observasi untuk setiap subjek.
Memiliki:
MeasurementNum SubjectID Dummy0 Dummy1 Dummy2 Dummy3 Dummy4
-----------------------------------------------------------------------------
1 1 1 1 0 0 0
2 1 0 1 0 1 0
3 1 - - - - -
4 1 0 0 1 1 0
5 1 - - - - -
6 1 0 0 0 1 0
1 2 1 0 0 1 0
2 2 0 0 0 0 0
3 2 0 1 0 0 0
4 2 1 1 0 1 0
5 2 - - - - -
6 2 1 1 1 0 0
Ingin:
Total for Overall
MeasurementNum SubjectID ... MeasurementNUM Total
--------------------------------...-----------------------------
1 1 ... 2 4
2 1 ... 2 4
3 1 ... - 4
4 1 ... 2 4
5 1 ... - 4
6 1 ... 1 4
1 2 ... 2 4
2 2 ... 0 4
3 2 ... 1 4
4 2 ... 3 4
5 2 ... - 4
6 2 ... 3 4
Pendekatan saya saat ini adalah menggabungkan keenam baris dalam setiap subjek menjadi satu baris yang mempertahankan nilai 1 menggunakan pernyataan Proc MEANS
dengan BY
dan OUTPUT
, seperti yang dijelaskan dalam pertanyaan terkait ini. Saya kemudian menggunakan Proc SUMMARY
untuk mendapatkan nilai yang tercantum di bawah variabel 'Total` dalam pernyataan miliki.
proc summary
data=have;
By SubjectID
class Dummy1-4;
output out=want sum=sum;
Apakah ada cara untuk mendapatkan jumlah berbeda/unik di seluruh observasi tanpa menggabungkan baris terlebih dahulu?
Saya lebih suka PROC SQL
karena ini juga memungkinkan saya melakukan penghitungan bersyarat berdasarkan kovariat subjek yang ada dalam kumpulan data kerja saya. Yaitu. menghasilkan deskriptif keinginan dengan syarat kovariat spesifik untuk subjek.
SubjectID
saya ingin membuat deskriptif yang memberi tahu saya berapa banyak variabel dummy yang memiliki nilai 1 di keenam pengukuran. UntukID1
ini akan menjadi 1 (Dummy1
). UntukID2
ini akan menjadi 3 (Dummy 0
,Dummy1
danDummy99
). - person user10712739   schedule 23.01.2019