Not always, see what happens with lapply: > x<-matrix(12,1,1) > names(x)<-"one" > y<-matrix(1,1,1) > names(y)<-"one" > dput(lapply(x,`+`,e2=y)) structure(list(one = structure(13, .Dim = c(1L, 1L))), .Names = "one") >dput(lapply(x,`+`,e2=1)) structure(list(one = 13), .Names = "one")
Prof. Ripley has pointed out this some time ago: https://stat.ethz.ch/pipermail/r-devel/2011-October/062297.html Note that ?`+` tells: The rules for determining the attributes of the result are rather complicated. Most attributes are taken from the longer argument. Names will be copied from the first if it is the same length as the answer, otherwise from the second if that is. If the arguments are the same length, attributes will be copied from both, with those of the first argument taking precedence when the same attribute is present in both arguments. For time series, these operations are allowed only if the series are compatible, when the class and ‘tsp’ attribute of whichever is a time series (the same, if both are) are used. For arrays (and an array result) the dimensions and dimnames are taken from first argument if it is an array, otherwise the second. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel