r中的NROW和nrow有什么区别?

what is diffrence between NROW and nrow in r?

如果我们在r中已经有nrowncol,那为什么还有NROW和NCOL呢。它们之间有什么区别还是它们只是一个别名?

mx <- matrix(1:12,3,4)

nrow(mx)
NROW(mx)

ncol(mx)
NCOL(mx)

在 R 中,您 总是 可以检查函数代码,输入不带括号的名称。这样做,您可以看到 NCOLncol 之间的差异:

NCOL
  # function (x) 
  # if (length(d <- dim(x)) > 1L) d[2L] else 1L
  # <bytecode: 0x560bca6cb290>
  # <environment: namespace:base>

ncol
  # function (x) 
  # dim(x)[2L]
  # <bytecode: 0x560bc9691cd0>
  # <environment: namespace:base>

ncol 将始终 return 参数的第二维,而 NCOL 将检查参数是否只有一维,在这种情况下它将 return 1.