r - 指定具有已定义结构的列名
问题描述
假设我有一个(使用定义的协方差)矩阵,我想像这样定义列名:
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 个不同的差异。我尝试了一些方法rep
,seq
但没有找到解决方案。
解决方案
也许不是最理想的方式,但我们可以做到
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"
分解它以便更好地理解
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"
我们将这些输出paste
与“Var”并行获取所需的列名。
推荐阅读
- php - 从 $_GET 预填充 html 表单
- node.js - 节点打字稿:键入“X”| “哦” | undefined' 不可分配给类型 '"X" | “哦”。类型“未定义”不可分配给类型“X”| “O”'.ts(2322)
- angular - Angular - 两个按钮,每个按钮都有不同的字体系列和字体大小
- c# - GetFileFromApplicationUriAsync 抛出“系统找不到指定的文件”
- spring-mybatis - Mybatis String <= />= 字符串比较问题
- javascript - 用户输入在连接的 URL 中总是被双引号包围
- azure - 无法启用 SQL 审核并将日志发送到启用 Pvt 端点的存储帐户
- javascript - 带括号与不带括号的 Javascript 舍入
- javascript - 为什么我无法从输入字段 JavaScript 获取数据
- python - 从 OpenCV 创建 RTSP 流