ฉันมีไฟล์ข้อมูลที่มีมากกว่า 2,000 บรรทัดและ 45,001 คอลัมน์
คอลัมน์แรกจริงๆ แล้วคือ "สตริง" ซึ่งอธิบายประเภทข้อมูล
เริ่มจากคอลัมน์ #2 จนถึงคอลัมน์ #45001 ข้อมูลจะแสดงเป็น
"1"
or
"0"
เช่น รูปแบบของข้อมูลในบรรทัดจะเป็น
(0 0 0
1 1
01 1 1
01 1 1 1
0 0 01
0 01 1 1
0 0)
จำนวนข้อมูลทั้งหมดคือ 25 ข้อมูล ภายในบรรทัดข้อมูลนี้มีกลุ่มย่อย 5 กลุ่มซึ่งสร้างด้วยตัวเลข "1" เท่านั้น เช่น (11
111
1111
1
111
) "0" ที่อยู่ระหว่างกลุ่มย่อยจะถือว่าเป็น "ตัวคั่น" ผลรวมของ "1" ทั้งหมดคือ = 13
ผมอยากจะคำนวณอัตราส่วนของ
(ผลรวมของ "1" ทั้งหมด / จำนวนกลุ่มย่อยทั้งหมดที่สร้างโดย "1" เท่านั้น)
นั่นคือ
(13/5).
ฉันลองใช้รหัสนี้เพื่อคำนวณผลรวมของ "1" ทั้งหมด ;
awk -F '0' '{print NF}' < inputfile.in
จะได้ค่า 13
แต่ฉันไม่รู้ว่าจะต้องไปไกลกว่านี้เพื่อคำนวณอัตราส่วนที่ต้องการได้อย่างไร ฉันไม่รู้ว่าจะหาจำนวนกลุ่มย่อยในแต่ละบรรทัดได้อย่างไร เพราะจำนวนครั้งที่ "1" และ "0" เกิดขึ้นแบบสุ่ม
ต้องการความช่วยเหลือในการจัดเรียงปัญหานี้
ขอขอบคุณความช่วยเหลือใด ๆ ล่วงหน้า