Biểu thức R chuẩn outer(X, Y, f)
đánh giá ma trận có mục nhập (i, j) -th có giá trị f(X[i], Y[j])
.Làm cách nào để khái quát hóa kích thước bên ngoài với n?
Tôi muốn thực hiện chức năng multi.outer
, tổng quát n-chiều outer
: multi.outer(f, X_1, ..., X_n)
, trong đó f là một số hàm n-ary, sẽ tạo ra (chiều dài (X_1) * ... * chiều dài (X_n)) mảng có (i_1, ..., i_n) -th entry có giá trị f(X_1[i_1], ..., X_n[i_n])
cho tất cả các bộ chỉ mục hợp lệ (i_1, ..., i_n). Rõ ràng, đối với mỗi i trong {1, ..., n}, tất cả các phần tử của X_i
trong multi.outer(f, X_1,...,X_i,..., X_n)
phải là đối số thứ i cho phép đối với hàm f
. Đối với trường hợp n = 2, multi.outer
sẽ thực hiện tương tự như outer
, mặc dù nó có chữ ký khác (IOW, multi.outer(f, X, Y)
sẽ tương đương với outer(X, Y, f)
). Điều quan trọng cần lưu ý là, mặc dù các đối số X_1, ..., X_n của multi.outer
là tất cả các vec-tơ, chúng không nhất thiết phải có cùng một chế độ. Ví dụ. X_1 và X_2 có thể là c(1, 2, 3)
và LETTERS[10:20]
, tương ứng.
Cảm ơn!
Đẹp! Xem câu hỏi tương tự (nhưng không phức tạp) với câu trả lời tương tự ở đây: http: // stackoverflow.com/questions/5233308/is-there-a-r-function-that-apply-a-chức năng-cho-mỗi-cặp-cột/5233713 # 5233713 – Aaron