Hi,

 

I would like to use sweep to "sweep out" proportions and confidence intervals for an array, however when I supply a function which returns a string (containing something like "9% (3-18%)") I get back a list instead of an array, here is a simplified example:

 

# example showing that sweep does not return an array with same dimensions as STATS as advertised

 

string.fun <- function(a, b) {

    paste(a, "-", b, sep="")

}

num.fun <- function(a, b) {

    a+b/100

}

m <- array(seq(1:24), dim = c(2,3,4))

stat <- array(seq(1:12), dim = c(3,4))

 

string.ans <- sweep(m, c(2,3), stat, string.fun)

dim(string.ans)

length(string.ans)

num.ans <- sweep(m, c(2,3), stat, num.fun)

dim(num.ans)

 

Although the contents are correct, strings.ans is a list while num.ans is an array. Help(sweep) says that the result of sweep should have the same dimensions as x, however when the result of the function is a string this is not the case.  How can I coerce the result of the function to cause sweep to return an array as advertised?

 

thanks,

Peter

 

Peter Young, MPH

Surveillance Epidemiologist

CDC Mozambique

 


	[[alternative HTML version deleted]]

