У меня есть вложенный массив со сложной структурой. Этот массив представляет собой коллекцию из 15 человек, на каждом из которых 11 изображений, на которых изображены 11 выражений лица, таких как подмигивание, счастье и т. Д.
Я хотел бы рассчитать средние снимки 15 человек с их 11 снятыми снимками.
![enter image description here](https://i.stack.imgur.com/Mp15y.png)
Структура all.faces
:
> str(all.faces)
List of 165
$ : int [1:159, 1:159] 48 50 51 50 50 53 57 55 50 47 ...
$ : int [1:159, 1:159] 159 156 131 130 117 115 122 119 123 129 ...
(... and 163 more...)
[list output truncated]
- attr(*, "dim")= int [1:2] 11 15
- attr(*, "dimnames")=List of 2
..$ : chr [1:11] "centerlight" "glasses" "happy" "leftlight" ...
..$ : NULL
Когда я пытался
myarray <- array(as.numeric(unlist(faces)), dim=c(159, 159, 15))
mean.faces <- apply(myarray,1:2, mean)
writeJPEG(mean.faces,"MEAN_FACES.jpg")
Я получил это:
![enter image description here](https://i.stack.imgur.com/8ZOG4.jpg)
Как получилось? Я бы предположил, что я бы использовал какое-то изображение, а не беспорядок черно-белой цветовой схемы, подобной этой.
Воспроизводимый пример
faces <- readMat("https://github.com/angelleng/545dump/blob/master/yalefaces.mat?raw=true")
faces.array <- array(as.numeric(unlist(faces)), dim=c(159, 159, 15))
mean.all.faces <- apply(faces.array,1:2, mean)
writeJPEG(mean.all.faces,"MEAN_FACES.jpg")
Как лучше всего подойти к этой ситуации?
Заранее спасибо.