首页 > 解决方案 > 更改特定职位的名称

问题描述

我已将数值向量定义为 -

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

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

当我使用命令时

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

这没用。

但是,当我使用

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

它确实有效

names()为什么会出现这种行为以及上述两种方法之间的区别是什么?

标签: r

解决方案


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

names(x)
names(x) <- value 

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

您的第一种方法不起作用的简化原因是X[2]返回

 #b 
 #2 

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

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

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


推荐阅读