用sapply获取数据框的列名

时间:2016-10-03 21:36:01

标签: r

我想使用以下代码获取数据框的列名:

DF <- data.frame(X=c(1,2), Y=c(3,4))
as.character(sapply(DF, names))

我有以下内容:

"NULL" "NULL"

但我需要以下结果:

"X" "Y" 

我怎么能这样做,提前谢谢。

1 个答案:

答案 0 :(得分:5)

但是有一个功能可以直接进行。见?colnames

colnames(DF)
[1] "X" "Y"

在这种情况下你也可以

names(DF)
[1] "X" "Y"

无论哪种方式,您都不需要sapply来提取列名。

如果您命名行names仍然只提供列名:

rownames(DF)<-list("a","b")
DF
  X Y
a 1 3
b 2 4
names(DF)
[1] "X" "Y"

rownames函数为您获取行名称:

rownames(DF)
[1] "a" "b"

如果您有一列具有相同列数的数据框,则可能会将sapplynames一起使用。

如果您想同时获取数据框的行名和列名,请参阅dimnames