我有一个这样的表对象列表: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
我想以列方式获取表列表中每个元素的最小值。
我尝试了一些失败的尝试,但是没有成功。有人可以帮我吗。
此致
亚历克斯
答案 0 :(得分:3)
它是list
个中的matric
个。因此,单位将是每个元素。如果我们使用lapply
,那么它将循环遍历每个元素,除非将其转换为data.frame
。在这里,我们可以使用apply
,其中MARGIN
指定为2(用于遍历列)
lapply(lst1, function(x) apply(x, 2, min))
或者另一个选择是colMins
中的matrixStats
library(matrixStats)
lapply(lst1, colMins)