没有名称时如何命名数据框中的列?

How to name a column in a dataframe when it does not has name?

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

为了更好地理解,第 1 列是 "Variable",第 0 列必须是 "Identification",但我无法执行它。

下面是 dataexample 和我正在使用但结果不佳的脚本(见下文):

      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")

有关详细信息,两个脚本 运行 都有效,但只有第二个脚本将名称分配给列。此外,这个 table 是从函数 sum () 派生出来的,使用 "Identification" 作为分割标准。

R中,索引从1开始。我们正在谈论的列就是row.names。如果我们想要 2 列,我们可以使用 base R.

从行名创建一个新列 'Identification'
df1<-  `row.names<-`(transform(dataexample, Identification = row.names(df1))[2:1], NULL)

当然也可以分两步完成,就像 OP post 下评论中显示的那样。但是,我 post 编辑了一个单行以防它有用。


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

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