2014-08-29 47 views
-1

我有一个10x5矩阵。五列中的每一列都被命名。如何重复R中特定频率的列名称

我需要建立一个这样的载体:

c(rep(colnames(mymatrix)[1], dim(mymatrix)[1]), 
    rep(colnames(mymatrix)[2], dim(mymatrix)[1]), 
... 
    rep(colnames(mymatrix)[5], dim(mymatrix)[1])) 

但是,如果我有一个不同的列数?如何在不使用for循环的情况下自动执行此操作?

谢谢!

+1

你叫什么规则? r无法猜出你想要每次重复多少次 – rawr 2014-08-29 17:45:12

+0

你是否真的运行过这段代码? – 2014-08-29 17:46:34

+0

是的,所以我现在的矩阵是10x5。我想要一个长度为50的矢量。前10个条目是第一个列名称。接下来的10个条目是下一个列名称。等我需要自动化这个可变数量的列名和行 – user1357015 2014-08-29 17:47:32

回答

1

您可以用each参数rep做到这一点:

rep(colnames(mymatrix), each=dim(mymatrix)[1]) 

要看到这是如何工作的,你可以尝试:

v = c("h", "e", "l", "l", "o") 
rep(v, each=5) 
# [1] "h" "h" "h" "h" "h" "e" "e" "e" "e" "e" "l" "l" "l" "l" "l" "l" "l" "l" "l" 
# [20] "l" "o" "o" "o" "o" "o"