Применить функцию к списку таблиц по столбцам - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть список объектов таблицы как таковой: list(X1A.1145442 = structure(c(0.3204, 0.6796, 0.3645, 0.6355, 0.1615, 0.8385, 0.3266, 0.6734, 0.2884, 0.7116, 0.3042, 0.6958), .Dim = c(2L, 6L), class = "table", .Dimnames = list(x = c("1", "2"),c("ES1-5", "ES14-26", "ES27-38", "ES6-13", "SA1-13", "SA14-25"))), X1A.1158042 = structure(c(0.4437, 0.5563, 0.4264, 0.5736, 0.2308, 0.7692, 0.3896, 0.6104, 0.2997, 0.7003, 0.3148, 0.6852), .Dim = c(2L, 6L), class = "table", .Dimnames = list(x = c("1", "2"), c("ES1-5", "ES14-26", "ES27-38", "ES6-13", "SA1-13", "SA14-25"))))

Список выглядит следующим образом:

$`X1A.1145442`

x    ES1-5 ES14-26 ES27-38 ES6-13 SA1-13 SA14-25     
1 0.3204  0.3645  0.1615 0.3266 0.2884  0.3042
2 0.6796  0.6355  0.8385 0.6734 0.7116  0.6958

$X1A.1158042

x    ES1-5 ES14-26 ES27-38 ES6-13 SA1-13 SA14-25
1 0.4437  0.4264  0.2308 0.3896 0.2997  0.3148
2 0.5563  0.5736  0.7692 0.6104 0.7003  0.6852

Я хотел бы получить минимальное значение для каждого элементасписок таблиц в колонке мудрым способом.

Я пробовал что-то с лаком, но безуспешно.Может ли кто-нибудь помочь мне в этом, пожалуйста.

С уважением,

Алекс

1 Ответ

0 голосов
/ 28 ноября 2018

Это list из matric эс.Таким образом, блок будет каждый элемент.Если мы используем lapply, то он будет проходить по каждому элементу, если он не преобразован в data.frame.Здесь мы можем использовать apply с MARGIN, заданным как 2 (для циклического перебора столбцов)

lapply(lst1, function(x) apply(x, 2, min))

Или другой параметр colMins из matrixStats

library(matrixStats)
lapply(lst1, colMins)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...