R中的函数nrow
中的参数ncol
和matrix
的默认值是什么?
按顺序:通过书写
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
?我尝试用3
,NULL
(通常在Python这样的情况下)和None
替换-1
,但是这些都会给我带来错误(并且{{ 1}}和0
分别为我提供了0行和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