2015-04-23 76 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