无法重命名R中的列

时间:2015-11-22 14:24:27

标签: r

我的数据框中的第一列是灰色的。它似乎没有名字。我需要命名它,以便我可以根据该列中的值对数据框进行子集化。

Here is a screenshoot

我尝试使用colnames命名它,如下所示:

colnames(copernicus_test)[1] <- "Star ID"

然而,这已重命名为V1列。正如您可能已经猜到的那样,数据框架只是转置,所以我想这可以解释为什么列是灰色的。

当然,我将未转置的数据存储为列表。

1 个答案:

答案 0 :(得分:1)

用可重复的例子进行演示:

df <- data.frame(x=1:4, y=LETTERS[1:4], row.names=month.abb[1:4])
df
#     x y
# Jan 1 A
# Feb 2 B
# Mar 3 C
# Apr 4 D

'第一列'实际上只是行名。要将其用作列,我们创建新列并为其分配行名称:

df['Star ID'] <- row.names(df)
df
#     x y Star ID
# Jan 1 A     Jan
# Feb 2 B     Feb
# Mar 3 C     Mar
# Apr 4 D     Apr

现在我们有一个名为Star ID的新列用于操作。要删除原始行名称,请在之后运行row.names(df) <- NULL

旁注:尽量不要用空格命名列,以后会引起潜在的麻烦。