我在R中偶然发现了这种奇怪的行为:
> a = 5
> names(a) <- "bar"
> b = c(foo = a)
> names(b)
[1] "foo.bar"
为什么这些名称会被连接/堆叠?
我在脚本中发现了这个c(a=b)
语法,但我找不到有关它的文档。有没有相关的文件?
答案 0 :(得分:3)
为什么名字得到 级联/堆叠?
因为它保留了串联之前存在的所有名称信息。如果您不喜欢,请使用unname
。
我在a中找到了这个c(a = b)语法 脚本,但我找不到 关于它的文档。有没有 那个文件?
?c
页面上的一些示例演示了c(name = value)
行为,但没有比此更多的内容。您可能还想查看?names
。
答案 1 :(得分:1)
如果a
是一个向量,看看会发生什么也可能是有益的。在这种情况下,如果foo=a
刚刚重新定义了名称,则向量的所有元素都将以相同的名称结尾。相反,如下例所示,这四个元素最终会有唯一的名称,这可能很不错。
> a <- c(A=1, B=2)
> b <- c(A=3, B=4)
> c(a=a, b=b)
a.A a.B b.A b.B
1 2 3 4