如何使用R中的For Loop获取矩阵中每列的最大值

时间:2017-03-04 04:53:23

标签: loops for-loop matrix max multiple-columns

例如:如果我有这个矩阵并且我想使用for循环计算每列的最大值我应该做什么

X =矩阵(1:12,nrow = 4,ncol = 3)

1 个答案:

答案 0 :(得分:0)

这可以通过使用如图所示的ncol()和max()函数来完成。一旦获得列索引号,就可以按如下方式提取相应的行:

X = matrix (1:12, nrow = 4, ncol=3)
#Let soln be the solution vector that stores the corresponding maximum value of each column              
soln=c()

#Traverse the matrix column-wise
for (i in 1:ncol(X))
{
  #Extract all rows of the ith column and find the maxiumum value in the same column
  soln[i]= max(X[,i])
  print(soln[i])
}

#Print the solution as a vector
soln

此外,类似的问题已经回答here,没有使用for循环(通过使用apply()函数)。