Message-ID: <1374601659.38463.YahooMailNeo@web160105.mail.bf1.yahoo.com>
Date: 2013-07-23T17:47:39Z
From: Fg Nu
Subject: cbind error with check.names
In-Reply-To: <CA+vqiLHmAC2n-5kUTS+J09O8BzEvikLEyK+v2i3Kv3ffGGn2KA@mail.gmail.com>
> Is there then a reason that overriding the check.names default is forbidden from cbind? I can't tell why this would be the case.
For the same reason you can't have
data.frame(x=1:10, x=11:20, check.names=TRUE, check.names=FALSE)
or
mean(x=1:10, x=11:20)
i.e, you can't generally pass the same argument more than once. There
are exceptions to this, e.g.,
sum(c(NA, 1:10), na.rm=TRUE, na.rm=FALSE)
but in general each argument can only be matched once. Since
cbind.data.frame calls data.frame with check.names=FALSE, you can't
supply it again.
Best,
Ista
>
> Thanks
>
Yikes, no. As I mentioned to the SO poster, I get that bit.
I meant what is the design principle behind check.names being hardcoded to FALSE. I see no conflict with the purpose of cbind from the ability to specify check.names at the level of cbind.