繁体   English   中英

在 R 中的嵌套循环中命名矩阵列

[英]Naming matrix columns within a nested loop in R

我想使用 R 循环生成一个矩阵(出于其他原因,我不想在这种情况下使用向量,这将适用于outer() ),这样列就被标记为i , j对应到循环的迭代。 例如, (1,3)

我习惯于在循环外启动一个向量,并为其分配NA0 我知道提前确定尺寸更有效。 但是我不想在这种类型的更复杂的问题中确定维度,并且在循环中我不知道如何填充向量。 通常我会将它编码为vector[i] <- new value to add ,但在这里我正在处理两个索引ij ,如果我像vector[i,j] <- new value to add我相信 R对矩阵的思考感到困惑。

这是非工作代码:

x1=c(1,4,2,5,6)
x2=c(5,3,7,7,8)
data=data.frame(x1,x2)
data=as.matrix(data)
n = 6 # polynomial degree

for(i in 1:n){
  for(j in 0:n){
    data = cbind(data,data[,1]^(i-j) * data[,2]^j)
    colnames(data) = paste("(",i,",",j,")")
  }
}

data

最简单的答案是改变

colnames(data) = paste("(",i,",",j,")")

colnames(data)[ncol(data)] = paste("(",i,",",j,")")

因为您只想更改最后一列(最近添加的列)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM