Passing data frames as arguments to data.frame is not intended to work the way you seem to think it should.
Try using cbind? a <- data.frame( A = 1, C = 1 ) b <- data.frame(B = 1, D = 1) cbind( a, b ) On August 21, 2026 9:01:30 AM PDT, Peter Langfelder <[email protected]> wrote: >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. -- Sent from my phone. Please excuse my brevity. [[alternative HTML version deleted]] ______________________________________________ [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.

