R的矩阵函数中nrow和ncol的默认值是什么?

时间:2019-09-18 20:53:02

标签: r matrix default-value

R中的函数nrow中的参数ncolmatrix的默认值是什么?

按顺序:通过书写

matrix(c(1,2,3,4,5,6), ncol=2)

我可以使函数matrix自动计算结果矩阵将具有多少行,并且输出将是

     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

但是,如果我希望在此函数调用中将ncol用作位置参数,而我只是删除ncol=,那就是

matrix(c(1,2,3,4,5,6), 2)

2”的结尾将是nrow的值,而不是ncol的值,我将得到矩阵

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

我可以通过为函数提供nrow的值来解决此问题,以便将2推到正确的位置,就像这样:

matrix(c(1,2,3,4,5,6), 3, 2)

,我将再次获得所需的矩阵。如果我正在为nrow使用关键字参数,那么我也可以使用这种为ncol提供值的方法,但是同时我想清楚并提供nrow参数:

matrix(c(1,2,3,4,5,6), nrow=3, ncol=2)

但是现在matrix不能为我计算行数,但是我必须自己计算。如果我想告诉3计算行数本身,应该写什么值而不是matrix?我尝试用3NULL(通常在Python这样的情况下)和None替换-1,但是这些都会给我带来错误(并且{{ 1}}和0分别为我提供了0行和1行的矩阵。

1 个答案:

答案 0 :(得分:1)

我们可以在前面放置,

 matrix(c(1,2,3,4,5,6), ,2)

此处,,是根据函数中的参数顺序放置的。如果我们选中?matrix,则用法为

  

矩阵(数据= NA,nrow = 1,ncol = 1,byrow = FALSE,dimnames = NULL)

请注意,大多数参数都具有默认值。最好将函数参数与名称一起传递,但如果要跳过,可以使用正确数量的,(还取决于函数的行为)。在这里,我们也可以在使用dimnames

跳过byrow参数之后设置,
matrix(c(1,2,3,4,5,6), ,2, ,list(NULL, c('a', 'b')))
#     a b
#[1,] 1 4
#[2,] 2 5
#[3,] 3 6