【发布时间】:2023-06-25 19:48:02
【问题描述】:
我有一个 30 行 12 列的矩阵。我想创建另一个基于这个原始矩阵的矩阵。我想让前 6 列中的条目是原始矩阵条目的 2 倍。我想让 7-11 列中的条目是原始矩阵的整数的 1.5 倍。我希望第 12 列与原始矩阵相同。
我有以下代码,但它没有给出我正在寻找的输出
sales=matrix(rpois(360, 10), nrow=30)
sales_dol=matrix(, nrow=30, ncol=12)
for (j in 1:12) {
if (j<7)
sales_dol[,j]=sales[,j]*2
} else if (j<12){
sales_dol[,j]=sales[,j]*1.5
} else{
sales_dol[,j]=sales[,j]
}
sales_dol
【问题讨论】:
-
从概念上讲,您编写的代码有效,只是匹配大括号存在问题,for 循环大括号在
j<12行之前结束。要修复,请在(j<7)之后添加一个{,在}之后添加另一个}