我将数字矢量定义为-
X <- c(a=1, b=2, c=3)
现在,我想将第二个位置的名称“ b”更改为“ z”。
当我使用命令
names(X[2]) <- "z"
它不起作用。
但是,当我使用
names(X)[2] <- "z"
确实有效
为什么会有这种行为?以上两种names()
方法之间有什么区别?
答案 0 :(得分:1)
如果您查看help("names")
,则会看到列出了两种用法:
names(x)
names(x) <- value
因此,同时定义了getter和setter功能。而预期的用法是您的第二种方法。
第一种方法行不通的简化原因是X[2]
返回
#b
#2
即长度为1的命名向量。因此,
names(X[2]) <- "z"
将重命名,但结果永远不会保存。