# test.sweep <- function(a,M,b) { cat("a <-",deparse(substitute(a)),"\n"); cat("M <-",deparse(substitute(M)),"\n"); cat("b <-",deparse(substitute(b)),"\n"); cat("\ncalling sweep(a,M,b)\n"); aux <- sweep(a,M,b); cat("\ncalling sweep(a,M,b,check=TRUE)\n"); aux <- sweep(a,M,b,check=TRUE); cat("\n(press Enter)\n"); aux <- readline(); } options(warn=1); test.sweep(array(1:64,dim=c(4,4,4)), c(1,3), matrix(1:16,nrow=4,ncol=4)); test.sweep(array(1:64,dim=c(4,4,4)), c(1,3), matrix(1:8,nrow=2,ncol=4)); test.sweep(array(1:64,dim=c(4,4,4)), c(1,3), 1); test.sweep(array(1:64,dim=c(4,4,4)), c(1,3), 1:3); test.sweep(array(1:64,dim=c(4,4,4)), c(1,3), 1:16); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, 1); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, 1:2); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, 1:3); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, 1:4); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, matrix(1:4,nrow=1)); test.sweep(matrix(1:8,nrow=4,ncol=2), 1, matrix(1:4,ncol=1)); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, 1); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, 1:2); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, 1:3); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, 1:4); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, matrix(1:2,ncol=1)); test.sweep(matrix(1:8,nrow=4,ncol=2), 2, matrix(1:2,nrow=1)); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), 1); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), array(1,dim=1)); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), array(1:6,dim=6)); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), 1:6); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), array(1:18,dim=c(6,3))); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), array(1:3,dim=3)); test.sweep(array(1:30,dim=c(2,6,3)), c(2,3), array(1:18,dim=c(3,6))); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:1); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:2); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:3); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:4); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:5); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:6); test.sweep(array(1:30,dim=c(2,6,3)), 2, 1:7);