【发布时间】:2020-01-05 15:54:23
【问题描述】:
你好,我有一个 3 x 2 的年龄和体重。
我必须用循环找到年龄和体重的最大值。
有人可以帮帮我吗?
【问题讨论】:
-
请展示您的尝试以及您遇到的问题。
-
请提供 MCVE:stackoverflow.com/help/mcve
你好,我有一个 3 x 2 的年龄和体重。
我必须用循环找到年龄和体重的最大值。
有人可以帮帮我吗?
【问题讨论】:
在R 中使用循环执行此操作不是通常的处理方式,但这是一种使用 for 循环实现 colmax 的方法:
set.seed(1)
# matrix
m <- matrix(rnorm(6), nrow = 3)
# storage for colmax
l <- NULL
# for loop across columns
for( i in 1:ncol(m)){
l[i] <- max(m[,i])
}
# colmax
l
[1] 0.1836433 1.5952808
【讨论】:
你不需要循环 R 有向量化函数
sample_matrix <- matrix(c(30,22,40,70,80,50),nrow = 3)
apply(sample_matrix,MARGIN = 2,FUN = max)
#> [1] 40 80
由reprex package (v0.3.0) 于 2020-01-05 创建
【讨论】:
apply() 函数未矢量化。你可以在这里阅读:R Inferno 或在这个很棒的 SO 帖子中:Is the “*apply” family really not vectorized?