重命名名称的子集

时间:2014-01-15 16:22:18

标签: r dataframe

让我说我正在尝试重命名数据框中的一些变量。

>dat = data.frame(var1 = 1:10, var2 = letters[1:10], var3 = LETTERS[1:10])  
>names(dat[,1:2]) = c("VAR_1", "VAR_2")  
>names(dat)

返回

>[1] "var1" "var2" "var3  

,而

>names(dat)[1:2] = c("VAR_1", "VAR_2") 
>name(dat)

成功重命名列。

> [1] "VAR_1" "VAR_2" "var3"

为什么第二种方法有效,但第一种方法失败了?

1 个答案:

答案 0 :(得分:3)

dat[,1:2]dat的子集副本,而不是原始副本。因此,您在第一个示例中修改此副本的名称,并立即丢弃该副本,原始文件保持不变。