คำถามนี้เป็นผลพลอยได้จาก MatLab (หรือภาษาอื่น ๆ) เพื่อแปลงเมทริกซ์หรือ csv เพื่อใส่ค่าคอลัมน์ที่ 2 ลงในแถวเดียวกันหากค่าคอลัมน์ที่ 1 เหมือนกัน
If
A = [2 3 234 ; 2 44 33; 2 12 22; 3 123 99; 3 1232 45; 5 224 57]
คอลัมน์ที่ 1 | คอลัมน์ที่ 2 | คอลัมน์ที่ 3
2 3 234
2 44 33
2 12 22
3 123 99
3 1232 45
5 224 57
จากนั้นก็วิ่ง
[U ix iu] = unique(A(:,1) );
r= accumarray( iu, A(:,2:3), [], @(x) {x'} )
จะแสดงข้อผิดพลาดให้ฉันดู
Error using accumarray
Second input VAL must be a vector with one element for each row in SUBS, or a
scalar.
ฉันต้องการที่จะทำให้
สีที่ 1 | สีที่ 2 | สีที่ 3 | สีที่ 4 | สีที่ 5 | คอที่ 6| พ.อ. 7
2 3 234 44 33 12 22
3 123 99 1232 45
5 224 57
ฉันรู้วิธีการใช้ for และ if แต่นั่นใช้เวลานานเกินไปสำหรับ big data
ฉันจะทำเช่นนี้ได้อย่างไร?
ขอบคุณล่วงหน้า!