Hello,

I'm having difficulty passing an object name to a lapply function. Can
somebody tell me the trick to make this work?


#Works
T13702 <- TRACKDATA[["13702.xls"]][["data"]]
min(unlist(lapply(list(T13702), function(x) mdy.date(x[1, 2], x[1, 1],
x[1, 3]))))
16553

#Works
d<-2
assign(paste("T",substr(names(TRACKDATA)[d],1,(nchar(names(TRACKDATA)[d]
)-4)),sep=""),TRACKDATA[[d]][["data"]],pos=1)
min(unlist(lapply(list(T13702), function(x) mdy.date(x[1, 2], x[1, 1],
x[1, 3]))))
16553

#Fails.
d<-2
assign(paste("T",substr(names(TRACKDATA)[d],1,(nchar(names(TRACKDATA)[d]
)-4)),sep=""),TRACKDATA[[d]][["data"]],pos=1)
min(unlist(lapply(list(paste("T",substr(names(TRACKDATA)[d],1,(nchar(nam
es(TRACKDATA)[d])-4)),sep="")), function(x) mdy.date(x[1, 2], x[1, 1],
x[1, 3]))))
Error in x[1, 2] : incorrect number of dimensions
> traceback()
4: mdy.date(x[1, 2], x[1, 1], x[1, 3])
3: FUN(X[[1L]], ...)
2: lapply(list(paste("T", substr(names(TRACKDATA)[d], 1,
(nchar(names(TRACKDATA)[d]) - 
       4)), sep = "")), function(x) mdy.date(x[1, 2], x[1, 1], x[1, 
       3]))
1: unlist(lapply(list(paste("T", substr(names(TRACKDATA)[d], 1, 
       (nchar(names(TRACKDATA)[d]) - 4)), sep = "")), function(x)
mdy.date(x[1, 
       2], x[1, 1], x[1, 3])))

#Fails (trying noquote).
min(unlist(lapply(list(noquote(paste("T",substr(names(TRACKDATA)[d],1,(n
char(names(TRACKDATA)[d])-4)),sep=""))), function(x) mdy.date(x[1, 2],
x[1, 1], x[1, 3]))))
Error in unclass(x)[...] : incorrect number of dimensions
> traceback()
6: `[.noquote`(x, 1, 2)
5: x[1, 2]
4: mdy.date(x[1, 2], x[1, 1], x[1, 3])
3: FUN(X[[1L]], ...)
2: lapply(list(noquote(paste("T", substr(names(TRACKDATA)[d], 1, 
       (nchar(names(TRACKDATA)[d]) - 4)), sep = ""))), function(x)
mdy.date(x[1, 
       2], x[1, 1], x[1, 3]))
1: unlist(lapply(list(noquote(paste("T", substr(names(TRACKDATA)[d], 
       1, (nchar(names(TRACKDATA)[d]) - 4)), sep = ""))), function(x)
mdy.date(x[1, 
       2], x[1, 1], x[1, 3])))

> 	Mark Fowler
		Population Ecology Division
> 	Bedford Inst of Oceanography
> 	Dept Fisheries & Oceans
> 	Dartmouth NS Canada
		B2Y 4A2
		Tel. (902) 426-3529
		Fax (902) 426-9710
		Email fowlerm@mar.dfo-mpo.gc.ca
		Home Tel. (902) 461-0708
		Home Email mark.fowler@ns.sympatico.ca



	[[alternative HTML version deleted]]


