没有名称时如何命名数据框中的列?
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")
我有一个符合两列的数据框,第一列(列 = 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
.
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")