Search code examples
rdynamicrbind

Rbind not working when including dynamic variable through assign function


My line of code is

df1<-rbind(df1,assign(paste(x,"_name_",_Date,sep=""),Result))

Basically

assign(paste(x,"_name_",_Date,sep=""),Result)

is the same as

df2

When i do

df1<-rbind(df1,df2)

it works but this needs to be dynamic and constantly changing as i do these updates weekly.


Solution

  • We need get to return the value from the object name string i.e. assign only assign it to an object and it doesn't return the value.

    rbind(df1, {
           nm1 <- paste(x,"_name_",_Date,sep="")
           assign(nm1, Result)
           get(nm1)})
    

    Using a small reproducible example

    rbind(head(iris), {
           nm1 <- 'newobj'
           assign(nm1, tail(iris))
           get(nm1)})
    #    Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
    #1            5.1         3.5          1.4         0.2    setosa
    #2            4.9         3.0          1.4         0.2    setosa
    #3            4.7         3.2          1.3         0.2    setosa
    #4            4.6         3.1          1.5         0.2    setosa
    #5            5.0         3.6          1.4         0.2    setosa
    #6            5.4         3.9          1.7         0.4    setosa
    #145          6.7         3.3          5.7         2.5 virginica
    #146          6.7         3.0          5.2         2.3 virginica
    #147          6.3         2.5          5.0         1.9 virginica
    #148          6.5         3.0          5.2         2.0 virginica
    #149          6.2         3.4          5.4         2.3 virginica
    #150          5.9         3.0          5.1         1.8 virginica