当使用命名变量赋值命名数组的值时,名称会自动由点组合

Wes*_*ang 5 r named

一个简单的例子:

a <- quantile(1:10, 0.1)
a
Run Code Online (Sandbox Code Playgroud)

输出:

10%
1.9
Run Code Online (Sandbox Code Playgroud)

使用a指定命名数组的值:

b = c(index=0, value=a)
b
Run Code Online (Sandbox Code Playgroud)

输出:

index value.10%
 0.0     1.9
Run Code Online (Sandbox Code Playgroud)

为什么"值"和"10%"会自动由点组合?如何避免这种情况,因为我只想将其命名为"价值"?

Cle*_*ter 0

a评论中的答案可以帮助您解决这个问题,但我认为您必须了解已经是命名向量的事实。因此,在这里使用c( cfor concat) 尝试连接两个不同类型的对象。这就是为什么 R 试图通过连接名称来使其工作,这里是原始名称 ( 10%) 和您想要给出的名称。

c(c(index=0), a)在这种情况下,对我来说,先写然后更改名称更有意义,或者c(index=0, value=unname(a))