[R] Adding zeros in each dimension of an array
Jeff Newmiller
jdnewmil at dcn.davis.ca.us
Wed Jun 7 18:25:46 CEST 2017
Please read
https://www.lifewire.com/how-to-send-a-message-in-plain-text-from-gmail-1171963
Re your question: easy is in the eye of the beholder.
a <- array( 1:12, dim = c( 2, 2, 3 ) )
b <- array( 0, dim = dim( a ) + 1 )
b[ 1:2, 1:2, 1:3 ] <- a
If you want to do a lot of this, it could be wrapped for convenience
though implementing that last expression without hardcoding the sequences
may not be obvious:
expandArray <- function( a ) {
b <- array( 0, dim = dim( a ) + 1 )
do.call( `[<-`, c( list( b ), lapply( dim( a ), seq.int ), list( a ) ) )
}
expandArray( a )
On Wed, 7 Jun 2017, li li wrote:
> For a data frame, we can add an additional row or column easily. For
> example, we can add an additional row of zero and an additional row of
> column as follows.
>
> Is there an easy and similar way to add zeros in each dimension? For
> example, for
> array(1:12, dim=c(2,2,3))?
>
> Thanks for your help!!
> Hanna
>
>
>
>> x <- as.data.frame(matrix(1:20,4,5))> x[5,] <- 0> x[,6] <- 0> x V1 V2 V3 V4 V5 V6
> 1 1 5 9 13 17 0
> 2 2 6 10 14 18 0
> 3 3 7 11 15 19 0
> 4 4 8 12 16 20 0
> 5 0 0 0 0 0 0
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
More information about the R-help
mailing list