Home R: created a names vector containing the means of multiple numeric vectors
 I have over 20 numeric vectors which consist of a series of values. each vector is distinguished by a letter, e.g. val_a, val_b, val_c etc... I would like to put the means from each of these vectors into a single named vector. I could of course do this in a laborious manner like so: obs <- c("val_a" = round(mean(val_a),3), "val_b" = round(mean(val_b),3), "val_c" = round(mean(val_c),3))  But with 20 vectors this then becomes tedious to write out, and not to mention an inelegant solution. How can I create the named vector in a more succinct way? I have made an attempt using a for loop, as so: obs <- c(for (j in 1:20) { assign(paste("val",letters[j], sep = "_"), mean(as.name(paste('val',letters[j], sep = '_'))),) })  In the right hand argument passed to assign, "as.name" is used in order to remove the quotation marks from output of "paste". So the second argument passed to assign returns a character which has the exact same name as the numeric vector that I want get the mean of, e.g. val_a. But I get the error messsage: Warning messages: 1: In mean.default(as.name(paste("val", letters[j], sep = "_"))) : argument is not numeric or logical: returning NA Does anyone know how to accomplish this?