繁体   English   中英

将函数应用于R中的列表矩阵

[英]apply a function to a matrix of lists in R

我有一个列表矩阵。

如何将函数应用于每组列表并返回与原始矩阵相同尺寸的矩阵?

我试过apply(X=data.matrix , MARGIN=c(1,2) , function(x) min(x$P) )但它Error in min(x$P) : (converted from warning) no non-missing arguments to min; returning Inf返回Error in min(x$P) : (converted from warning) no non-missing arguments to min; returning Inf Error in min(x$P) : (converted from warning) no non-missing arguments to min; returning Inf

编辑 :我拥有的数据类型的一个例子:

data.matrix = list()

data.matrix$first = list()
data.matrix$second = list()
data.matrix$third = list()

data.matrix$first$a = data.frame(P=runif(3))
data.matrix$first$b = data.frame(P=runif(3))
data.matrix$first$c = data.frame(P=runif(3))

data.matrix$second$a = data.frame(P=runif(3))
data.matrix$second$b = data.frame(P=runif(3))
data.matrix$second$c = data.frame(P=runif(3))

data.matrix$third$a = data.frame(P=runif(3))
data.matrix$third$b = data.frame(P=runif(3))
data.matrix$third$c = data.frame(P=runif(3))

data.matrix = do.call(rbind,data.matrix)

我想在矩阵的每个元素上得到min (或其他任何东西)。

谢谢!

你可以试试

sapply(data.matrix, function(x) min(x$P))

如果min应替换P

lapply(data.matrix, function(x) {x$P <- min(x$P);x})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM