Tôi đã có khung dữ liệu trong R và tôi muốn thực hiện phép tính trên tất cả các cặp hàng. Có cách nào đơn giản hơn để thực hiện việc này hơn là sử dụng vòng lặp lồng nhau không?Hoạt động trên các hàng của một khung dữ liệu
Để làm cho bê tông này, hãy xem xét một khung dữ liệu với mười hàng, và tôi muốn tính toán sự khác biệt về điểm số giữa tất cả (45) cặp có thể.
> data.frame(ID=1:10,Score=4*10:1)
ID Score
1 1 40
2 2 36
3 3 32
4 4 28
5 5 24
6 6 20
7 7 16
8 8 12
9 9 8
10 10 4
Tôi biết tôi có thể thực hiện phép tính này với vòng lặp lồng nhau, nhưng có cách nào tốt hơn (nhiều R-ish) hơn để làm điều đó không?
Ooh, tôi thích chức năng combn rất nhiều. –
+1 Tôi nghĩ rằng đây có thể là một chức năng bị bỏ qua nhiều. – Iterator
Tôi đang cố gắng sao chép điều này trên một khung dữ liệu với một số cột, nhưng không thể làm cho nó hoạt động. @teucer có thể hiển thị cách thực hiện điều này? Ví dụ. nếu có score1, score2, score3 vv Chỉ cần được rõ ràng, sự khác biệt giữa [1,2] và [2,2], không phải tổng [1,] và tổng [2,]. Vì vậy, bạn sẽ kết thúc với một khung dữ liệu có cùng số cột như cột ban đầu, nhưng có nhiều hàng hơn. –