[R] Can I write Nothing to a variable?

Carl Witthoft carl at witthoft.com
Fri Oct 30 16:56:47 CET 2009

OK, here's the first-cut code, which does execute properly.  What I 
would like to do, simply for 'cleanliness', is to assign "nothing" to 
the variable "l" , rather than assigning "seq(1,dim(data)[timedim])". 
Then the result of all the get(unlist(dims)) operations below will be


Where right now the code returns func[j,k,seq(1:length(dim(data)[timedim]))]

Linewraps below have broken the definition of jmap() into at least 3 
lines, btw.

What this function, timecalc(), does is to calculate the selected 'func' 
over the specified dimension of the data, returning a 2-dimensional 
array of the calculated values.   Think, for example, of a FITS data 
stack, and calculating the mean intensity in each spatial pixel over the 
full time-sequence of frames.

#generic version, for 'any' function and any axis (3-D data only)
timecalc<-function( data, func=mean, timedim=3) {
	# build a "[,j,k]" string where the blank is for
	# the timedim selected.  I can't find a way to create a true "blank"
	# which is why I load the seq(1:N) in there
	#  (put error checkers on length of dim later)
#sloppy way to extract the time-sequence, but lets me 'unlist' all 3 dims
alldim<-seq(1,3)  # just create a holder
# define the two dims which are NOT summed over, i.e. we'll return an array
# of size scandim[1]xscandim[2], each element is func-ed over 3rd dim
jmap<-function(k) mapply(function(j) 

David Winsemius wrote:
> It certainly seems possible that it is more complex, but at the moment I 
> don't think it is possible to any more vague.
> The specifics of implementation will depend on the precise meaning 
> assigned to the words "a function", "index", "axis", "dimension", "each 
> element of which is the sum of all values along the third axis". At the 
> moment those appear to be unfortunately imprecisely described.
> The quick answer to your first questions is yes, it is possible to 
> create structures with nothing in them. Emply vectors, empty arrays, 
> sparse matrices, and empty lists are all feasible. Make up your mind 
> what you want and then articulate it.
> some the the function sthat may do what you want are:
> apply
> integrate
> lapply
> All of the specifics depend ... on specifics.

More information about the R-help mailing list