如果没有名称,如何在数据框中命名列?

时间:2016-08-25 12:16:08

标签: r dataframe columnname

我有一个符合两列的数据帧,第一列(列= 0)和第二列(列= 1)。我试图命名为零列,但我遇到了一些困难。当我应用str()函数时,它的输出只给我一个变量(第1列)而不是两个(第0列和第1列)。

为了更加理解,第1列是“变量”,第0列必须是“标识”,但我无法达到它。

以下是我使用的dataexample和srcipt,但结果不正确(见下文):

      Variable
A.1     1178
A.2     1187
A.3     1190
B.1      983
B.2     1002
B.3      977
C.1     1056
C.2     1027
C.3     1043
D.1      974
D.2     1003
D.3      986

names(dataexample)[0]<-paste("Identification")
names(dataexample)[1]<-paste("Variable")

有关详细信息,两个脚本都可以有效运行,但只有第二个脚本会将名称分配给列。此外,该表源于函数sum (),并使用“标识”作为拆分标准。

2 个答案:

答案 0 :(得分:1)

cache-control

答案 1 :(得分:0)

R中,索引从1开始。我们讨论的列只是row.names。如果我们想要有2列,我们可以使用base R从rownames创建一个新列“标识”。

df1<-  `row.names<-`(transform(dataexample, Identification = row.names(df1))[2:1], NULL)

当然,它可以通过两个步骤完成,如OP的帖子中的评论中所示。但是,我发布了一个单行代码以防它有用。

如果我们使用的是套餐,则data.table的一个选项是将keep.rownames的默认设置从FALSE更改为TRUE

library(data.table)
setnames(setDT(dataexample, keep.rownames = TRUE), 1, "Identification")