2016-10-03 68 views
1

我想用下面的代码来获得一个数据帧的列名:获取数据帧的列名与sapply

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

我有以下几点:

"NULL" "NULL" 

但我需要以下结果:

"X" "Y" 

我该如何做到这一点,在此先感谢。

回答

2

但有一个功能可以直接做到这一点。见?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

相关问题