0

R を使用しており、行列の次元が 3x3 であるかどうかを確認するコードを作成する必要があります。とif()をチェックするために使用する適切なコードにこだわっています。どんな助けや提案も大歓迎です。nrowncol

localSmoother <- function(myMatrix = matrix(), 
  smoothingMatrix = matrix(1, nrow = 3, ncol = 3)) 
{ 
  if(class(smoothingMatrix) != "matrix") stop ("smoothingMatrix must be a matrix.")  
  if(ncol(smoothingMatrix) != "3" & if(nrow(smoothingMatrix) != "3") 
  stop ("smoothingMatrix must have dimensions of 3x3") 

  print(myMatrix) # see what myMatrix is.
  print(smoothingMatrix) # see what smoothingMatrix is.
  return(matrix(, nrow = 3, ncol = 3))
}

# # TEST the CODE:
localSmoother(myMatrix = diag(x = 2, nrow = 5, ncol = 5), smoothingMatrix = matrix(2, nrow = 5, ncol = 3))

# # Error in localSmoother(myMatrix = diag(x = 2, nrow = 5, ncol = 5), smoothingMatrix = matrix(2,  : 

# # smoothingMatrix must be 3x3
4

2 に答える 2