Usando get () con funciones de reemplazo

¿Puede alguien explicarme por qué ocurre el siguiente ejemplo?

#Create simple dataframe
assign( "df" , data.frame( P = runif(5) , Q = runif(5) , R = runif(5) ) ) 

#Return the dataframe from the given character vector
get( "df" ) 
            P          Q          R
1  0.17396222 0.90994676 0.90590685
2  0.33860092 0.98078739 0.38058921
3  0.80751402 0.93229290 0.82853094
4  0.05460417 0.55448507 0.01605027
5  0.04250316 0.03808318 0.40678270

#Return the column names of df
colnames( get( "df" ) )
[1] "P" "Q" "R"

#But using a replacement function...
colnames( get( "df" ) ) <- c( "S" , "T" , "U" ) 
    Error in colnames(get("df")) <- c("S", "T", "U") : 
    target of assignment expands to non-language object

Carné de identidadUNA) Me gustaría saber por qué las funciones de reemplazo no funcionarán de esta manera conget()?

Ysegundo) si hay alguna manera de evitar esto, dado mi problema que describo a continuación;

Mi problema es que tengo muchos objetos, creados (usando un ejemplo de juguete) en un bucle, algo como esto:assign( paste( "Object" , i , sep = "." ) , rnorm(1000 , i) ), dóndei es un vector, digamosi <- 1:1000 y luego me gustaría poder asignar nombres (por ejemplo, de un vector diferente) a cada objeto en el bucle, peronames( get( paste( "Object" , i , sep = "." ) ) <- someNewName no funciona como en el ejemplo anterior.

Peroget( paste( "Object" , i , sep = "." ) ) devuelve los nombres (oNULL) de esos objetos.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta