R:减少数组的维度
R: Dimension of reduced array
假设我有
x <- array(data=runif(a*b*c), dim=c(a,b,c))
f <- function(data)
{
...
return(list(dim=dim(data))
}
如何在f
内部转换data
以获得
> f(data=x[,1,])
$dim
[1] a 1 c
而不是
> f(data=x[,1,])
$dim
[1] a c
?
或者一旦x[,1,]
输入到f
就不可能了?
非常感谢。
您可以使用 drop=FALSE
获取尺寸
f <- function(data){
return(list(dim=dim(data)))
}
f(data=x[,1,, drop=FALSE])
#$dim
#[1] 3 1 3
数据
a <- 3
b <- 2
c <- 3
x <- array(data=runif(a*b*c), dim=c(a,b,c))
假设我有
x <- array(data=runif(a*b*c), dim=c(a,b,c))
f <- function(data)
{
...
return(list(dim=dim(data))
}
如何在f
内部转换data
以获得
> f(data=x[,1,])
$dim
[1] a 1 c
而不是
> f(data=x[,1,])
$dim
[1] a c
?
或者一旦x[,1,]
输入到f
就不可能了?
非常感谢。
您可以使用 drop=FALSE
获取尺寸
f <- function(data){
return(list(dim=dim(data)))
}
f(data=x[,1,, drop=FALSE])
#$dim
#[1] 3 1 3
数据
a <- 3
b <- 2
c <- 3
x <- array(data=runif(a*b*c), dim=c(a,b,c))