r - Piping variable name into dataframe columns -


i've been trying create function can pipe name of variable names of columns data.frame created in function.

for example:

#create variable var1 <- c(1,1,2,2,3,3)   #create function dummy codes variable , renames them rename_dummies <- function(x){     m <- model.matrix(~factor(x))     colnames(m)[1] <- "dummy1"     colnames(m)[2] <- "dummy2"     colnames(m)[3] <- "dummy3"       m <<- data.frame(m)    }  rename_dummies(var1) 

now, can add function that "var1" automatically placed in front of "dummy" in each of variable names? ideally end 3 variables this...

> names(m) [1] "var1_dummy1" "var1_dummy2" "var1_dummy3" 

try below code. key in deparse(substitute). modified function not use global assignment operator <<-, poor practice.

var1 <- c(1,1,2,2,3,3)   #create function dummy codes variable , renames them rename_dummies <- function(x){   nm = deparse(substitute(x))   m <- model.matrix(~factor(x))   colnames(m)[1] <- "dummy1"   colnames(m)[2] <- "dummy2"   colnames(m)[3] <- "dummy3"     m <- data.frame(m)     names(m) <- paste(nm, names(m), sep = "_")   m }  rename_dummies(var1) 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -