更改特定职位的名称

时间:2018-11-18 12:46:52

标签: r

我将数字矢量定义为-

X <- c(a=1, b=2, c=3)

现在,我想将第二个位置的名称“ b”更改为“ z”。

当我使用命令

names(X[2]) <- "z"

它不起作用。

但是,当我使用

names(X)[2] <- "z"

确实有效

为什么会有这种行为?以上两种names()方法之间有什么区别?

1 个答案:

答案 0 :(得分:1)

如果您查看help("names"),则会看到列出了两种用法:

names(x)
names(x) <- value 

因此,同时定义了getter和setter功能。而预期的用法是您的第二种方法。

第一种方法行不通的简化原因是X[2]返回

 #b 
 #2 

即长度为1的命名向量。因此,

 names(X[2]) <- "z"

将重命名,但结果永远不会保存。