ฉันกำลังจัดการกับชุดข้อมูลการวัดซ้ำในรูปแบบกว้าง การสังเกตแต่ละครั้งแสดงถึงการวัดหนึ่งครั้งสำหรับหนึ่งวิชา และแต่ละวิชาจะถูกวัดหกครั้ง ข้อมูลประกอบด้วยตัวแปรจำลองเป็นหลัก
ฉันกำลังมองหาการนับค่าตัวแปรจำลองที่ไม่ซ้ำกันจากการสังเกตทั้งหกสำหรับแต่ละเรื่อง
มี:
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
ต้องการ:
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
แนวทางปัจจุบันของฉันคือการรวมทั้งหกแถวในแต่ละเรื่องให้เป็นหนึ่งแถวที่รักษาค่า 1 โดยใช้ Proc MEANS
กับคำสั่ง BY
และ OUTPUT
ตามที่อธิบายไว้ใน นี้ คำถามที่เกี่ยวข้อง จากนั้นฉันใช้ Proc SUMMARY
เพื่อรับค่าที่แสดงอยู่ภายใต้ตัวแปร 'Total' ในคำสั่ง have
proc summary
data=have;
By SubjectID
class Dummy1-4;
output out=want sum=sum;
มีวิธีรับจำนวนที่แตกต่าง/ไม่ซ้ำจากการสังเกตโดยไม่ต้องรวมแถวก่อนหรือไม่
ฉันชอบ PROC SQL
เพราะจะทำให้ฉันสามารถนับแบบมีเงื่อนไขตามตัวแปรร่วมของหัวเรื่องที่มีอยู่ในชุดข้อมูลการทำงานของฉันได้ เช่น. สร้างคำอธิบายที่ต้องการตามเงื่อนไขของตัวแปรร่วมที่เฉพาะเจาะจงกับหัวข้อ
SubjectID
แต่ละตัว ฉันอยากจะสร้างคำอธิบายโดยบอกฉันว่าตัวแปรจำลองจำนวนเท่าใดที่มีค่า 1 ในการวัดทั้งหกครั้ง สำหรับID1
นี่จะเป็น 1 (Dummy1
) สำหรับID2
นี่จะเป็น 3 (Dummy 0
,Dummy1
และDummy99
) - person user10712739   schedule 23.01.2019