Hãy tưởng tượng bạn có một mảng 3 chiều với hàng, cột, và các lớp:Áp dụng một chức năng để mỗi lớp của một mảng 3d, trả lại một mảng
A <- array (1:27, c(3,3,3))
và tưởng tượng bạn có một chức năng mà phải mất một ma trận làm đầu vào và trả về ma trận làm đầu ra, như t
.
Làm cách nào bạn có thể áp dụng hàm cho từng lớp của mảng, trả lại một mảng có cùng kích thước với mảng đầu tiên?
Tôi cảm thấy mình có thể làm điều đó với apply
bằng cách nào đó, nhưng tôi không thể.
Câu hỏi thưởng (Tôi rất biết ơn nếu bạn trả lời câu hỏi này): có nhanh hơn để thực hiện việc này hay tạo danh sách mỗi ma trận lớp và lapply
chức năng cho chúng?
-
Chỉnh sửa: xin đừng nghĩ rằng câu hỏi này được trả lời - câu trả lời dưới đây không trả lời câu hỏi.
Đó không phải là ý tôi. Câu trả lời đúng phải có lớp đầu tiên giống như 't (ma trận (1: 9, 3, 3))', không phải là của cả hai. –
Đó là ý của tôi về việc phải suy nghĩ cẩn thận về các thứ nguyên để có được những gì bạn muốn. – mnel
Không có sự kết hợp có thể có của lợi nhuận cho câu trả lời tôi đang tìm kiếm, mặc dù. –