On 2026-08-21 12:01 p.m., Peter Langfelder 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?
It looks like it. From the help page: "For a named or unnamed matrix/list/data frame argument that contains a single column, the column name in the result is the column name in the argument."

However, also note how that paragraph started: "How the names of the data frame are created is complex, and the rest of this paragraph is only the basic story."

Duncan Murdoch

______________________________________________
[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.

Reply via email to