[R] data.frame with a column containing an array

Georg Kindermann Georg@K|nderm@nn @end|ng |rom gmx@@t
Mon May 8 12:52:59 CEST 2023


Dear list members,

when I create a data.frame containing an array I had expected, that I get a similar result, when subsetting it, like having a matrix in a data.frame. But instead I get only the first element and not all values of the remaining dimensions. Differences are already when creating the data.frame, where I can use `I` in case of a matrix but for an array I am only able to insert it in a second step.

DFA <- data.frame(id = 1:2)
DFA[["ar"]] <- array(1:8, c(2,2,2))

DFA[1,]
#  id ar
#1  1  1

DFM <- data.frame(id = 1:2, M = I(matrix(1:4, 2)))

DFM[1,]
#  id M.1 M.2
#1  1   1   3

The same when trying to use merge, where only the first value is kept.

merge(DFA, data.frame(id = 1))
#  id ar
#1  1  1

merge(DFM, data.frame(id = 1))
#  id M.1 M.2
#1  1   1   3

Is there a way to use an array in a data.frame like I can use a matrix in a data.frame?

I am using R version 4.3.0.

Kind regards,
Georg



More information about the R-help mailing list