R中至少有2个向量

时间:2012-07-03 16:11:59

标签: r for-loop min

  

可能重复:
  Compute the minimum of a pair of vectors

我有两个长度相同的向量:

a <- rnorm(40)
b <- rnorm(40)

现在,我想创建第三个向量c,其中每个点都有a和b的次要值。 这可能是一个解决方案:

for (i in 1:40)
{c[i] <- min(a[i],b[i])}

但是,我想有一种更简单的方法可以做到这一点。

2 个答案:

答案 0 :(得分:8)

这正是pmin的用途...... ?min中记录了这一点。

a <- rnorm(40)
b <- rnorm(40)
minab <- pmin(a,b)

答案 1 :(得分:4)

Joshua的回答无疑是您问题的最佳解决方案。但是,我个人有时喜欢使用简单的工具并创建自己的代码或功能。这是解决问题的另一种方法:

apply(data.frame(v1 = rnorm(40), v2 = rnorm(40)),1,min)