Hello, Yes, this is documented. From ?data.frame, section Value
How the names of the data frame are created is complex, and the rest of this paragraph is only the basic story. [...] For a named matrix/list/data frame argument with more than one named column, the names of the columns are the name of the argument followed by a dot and the column name inside the argument: if the argument is unnamed, the argument's column names are used. [...] You can protect data.frame's arguments with I(). Compare the two calls below. df1 <- data.frame(a = data.frame(A = 1, C = 1), b = data.frame(B = 1, D = 1)) str(df1) #> 'data.frame': 1 obs. of 4 variables: #> $ a.A: num 1 #> $ a.C: num 1 #> $ b.B: num 1 #> $ b.D: num 1 names(df1) #> [1] "a.A" "a.C" "b.B" "b.D" df2 <- data.frame(a = I(data.frame(A = 1, C = 1)), b = I(data.frame(B = 1, D = 1))) str(df2) #> 'data.frame': 1 obs. of 2 variables: #> $ a:Classes 'AsIs' and 'data.frame': 1 obs. of 2 variables: #> ..$ A: num 1 #> ..$ C: num 1 #> $ b:Classes 'AsIs' and 'data.frame': 1 obs. of 2 variables: #> ..$ B: num 1 #> ..$ D: num 1 names(df2) #> [1] "a" "b" df2 # the names come from the print method #> a.A a.C b.B b.D #> 1 1 1 1 1 Hope this helps, Rui Barradas Peter Langfelder <[email protected]> escreveu (sexta, 21/08/2026 à(s) 17:01): > > Hi all, > > when calling data.frame on other data frames and naming arguments, the > way the 'names' of the result are formed seems to depend on whether > the argument data frames have one or more columns. Specifically, > consider this: > > > data.frame(a = data.frame(A = 1), b = data.frame(B = 1)) > A B > 1 1 1 > > > Here the column names are simply copied from column names of the arguments. > In contrast, if the argument data frames have two (or more) columns, > here's what happens: > > > data.frame(a = data.frame(A = 1, C = 1), b = data.frame(B = 1, D = 1)) > a.A a.C b.B b.D > 1 1 1 1 1 > > > The 'names' of the result are now <name of the argument>.<column name > of the argument value> > > Is this behavior intended? > > Thanks, > > Peter > > ______________________________________________ > [email protected] mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ [email protected] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

