Khi đặt mảng, R hoạt động khác nhau tùy thuộc vào việc một trong các kích thước có chiều dài 1 hay không. Nếu thứ nguyên có chiều dài 1, thứ nguyên đó sẽ bị mất trong quá trình đặt trước:Mảng R trừ: kích thước bị mất khi chiều dài của nó là 1
ax <- array(1:24, c(2,3,4))
ay <- array(1:12, c(1,3,4))
dim(ax)
#[1] 2 3 4
dim(ay)
#[1] 1 3 4
dim(ax[,1:2,])
#[1] 2 2 4
dim(ay[,1:2,])
#[1] 2 4
Từ quan điểm của tôi, rìu và ay giống nhau và thực hiện cùng một tập hợp con trên chúng nên trả về mảng có cùng kích thước . Tôi có thể thấy rằng cách R xử lý hai trường hợp có thể hữu ích, nhưng nó không mong muốn trong mã mà tôi đang viết. Điều đó có nghĩa là khi tôi chuyển một mảng con vào một hàm khác, hàm sẽ nhận được một mảng thiếu một tham số, nếu tôi đã giảm kích thước chiều dài 1 ở giai đoạn trước đó. (Vì vậy, trong trường hợp này, tính linh hoạt của R làm cho mã của tôi kém linh hoạt hơn!)
Làm cách nào để ngăn R mất kích thước chiều dài 1 khi đang nạp tiền? Có cách nào khác để lập chỉ mục không? Một số cờ để thiết lập?
không giống hệt nhưng có lẽ quan tâm: http://stackoverflow.com/questions/12196724/generally-disable-dimension-dropping-for-matrices –