2015-04-23 44 views
-1

字母一個循環我想做一個循環與letter..i有一個矩陣(名爲「A」),我想將所有的列名..不要與R中

k<-arrayInd(2,dim(a)) 
colnames(a)[k[,1]] 
colnames(a)[k[,2]] 
colnames(a)[k[,3]] 
. 
. 
. 
colnames(a)[k[,n]] 

我猜循環將是這樣的

aa<-list() 
for (i in 1:n) { 
aa[[i]]<-colnames(a)[k[,i]] 
} 

但我沒有得到任何結果。我認爲循環正常,但我有別的東西

aa<-list() 

更改和替換「名單」別的東西..

+0

分配到列表中的每個元素循環'AA [我] < - colnames(一)[K [我]'我不知道是什麼你正在嘗試做。一個可重複的例子會更好 – Koundy

+0

嘗試'as.list(colnames(a))' – nsheff

+0

嘗試'vector'(並使用單個括號)也許? – nsheff

回答

2

假設你有一個矩陣mat,它看起來像這樣:

mat <- matrix(1:4, ncol = 2, dimnames = list(letters[1:2], LETTERS[1:2])) 

您可以檢查它的結構是這樣的:

str(mat) 
# int [1:2, 1:2] 1 2 3 4 
# - attr(*, "dimnames")=List of 2 
# ..$ : chr [1:2] "a" "b" 
# ..$ : chr [1:2] "A" "B" 

,您可以使用此獲得列名:

colnames(mat) 
# [1] "A" "B" 
+0

thanx lukeA ...正是我所需要的。 – vasilis

+0

@vasilis如果它有效,你可以檢查答案,因此它被標記爲「已解決」。 – lukeA