用定义的结构指定列名

时间:2018-07-19 13:48:07

标签: r seq rep

假设我有一个(使用的已定义协方差)矩阵,并且我想像这样定义列名称:

y <- matrix(rnorm(15*10),ncol=15)

colnames(y) <- c("Var1", "Cov12", "Cov13","Cov14", "Cov15",
"Var2", "Cov23", "Cov24", "Cov25", 
"Var3", "Cov34" , "Cov35"      
"Var4", "Cov45", 
"Var5")

其中每行包含日期t的方差或协方差。我想找到一种更通用的方法来分配如上所述的列名,因为我不会总是有5个不同的差异。我尝试使用repseq进行操作,但没有找到解决方法。

1 个答案:

答案 0 :(得分:1)

也许不是最理想的方法,但我们可以做到

npm install @ng-bootstrap/ng-bootstrap@latest

将其分解以更好地理解

n <- 5
paste0("Var", rep(1:n, n:1), unlist(sapply(2:n, function(x) c("",seq(x, n)))))

[1] "Var1"  "Var12" "Var13" "Var14" "Var15" "Var2"  "Var23" "Var24" "Var25" "Var3"   
    "Var34" "Var35" "Var4"  "Var45" "Var5"

我们获取这些输出,并与{Var“并行rep(1:n, n:1) #[1] 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 unlist(sapply(2:n, function(x) c("",seq(x, n)))) #[1] "" "2" "3" "4" "5" "" "3" "4" "5" "" "4" "5" "" "5" 获得所需的列名。