【发布时间】:2016-07-19 18:47:18
【问题描述】:
R 核心库中有两个函数。
但是row.names 的文档指定对于数据框,“rownames”和“colnames”最终分别调用“row.names”和“names”,但首选后者。 为什么row.names 是首选吗?忽略row.names 直接调用rownames 不是更容易吗?
【问题讨论】:
-
那个链接根本没有用。
-
@RichardScriven 如果这个问题得到了很好的答案,也许其他问题应该作为这个问题的副本关闭。
-
谜题的一部分,我认为是“最终”这个词。由于
rownames最终会调用row.names来获取data.frame,那么剪掉中间人并将其带到源头会更有效。我认为本文档关注 data.frames 的另一部分。 -
请注意,“data.frame”具有明确的“row.names”属性,而不是“rownames”。此外,
row.names是一个通用函数,可以获取对象的这个特定属性,并且可以为类似于“data.frame”对象创建方法 -
对我来说看起来像是交叉兼容性。
names(iris)和colnames(iris)都可以。我怀疑作者很友好地知道,对于来自 S 或早期 R 的老派程序员仍然可以使用旧功能,而新学校用户可以使用新功能。所以一段时间后该语言看起来有点像弗兰肯斯坦,但不必记住哪个函数与哪个数据类型相匹配是件好事。
标签: r