2014-10-10 55 views
0

我的樣本數據如下:Tablulate所有的數據幀一列和R中相應列的索引

structure(list(v1 = 1:4, v2 = c(2L, 3L, 4L, 2L), v3 = 1:4, v4 = c(4L, 
3L, 2L, 3L)), .Names = c("v1", "v2", "v3", "v4"), class = "data.frame", row.names = c(NA, 
-4L)) 

我想獲得一個表中的列名,它們的指標。例如。

v1 v2 v3 
1 2 3 

我嘗試了以下代碼(搜索在各種論壇和互聯網之後,但它總是返回NA或一些錯誤)

> lapply(df, function(x) match(x, names(df))) 
$v1 
[1] NA NA NA NA 

$v2 
[1] NA NA NA NA 

$v3 
[1] NA NA NA NA 

$v4 
[1] NA NA NA NA 

> lapply(df, function(x) which(colnames(df)==x)) 
$v1 
integer(0) 

$v2 
integer(0) 

$v3 
integer(0) 

$v4 
integer(0) 

非常感謝您的寶貴時間和精力提前。

回答

3

這應該工作:

aa <- 1:ncol(iris)  ## create vector of indices of the right size 
names(aa) <- names(iris) ## name entries 
aa 
+1

或'setNames(seq_len點(NcoI(DAT)),colnames(DAT))' – akrun 2014-10-10 10:18:47

+0

@ilir:輝煌的解決方案...感謝交朋友! – 2014-10-11 08:41:34

相關問題