从r中的变量中找到最大值

时间:2018-05-05 15:05:18

标签: r max

我希望能够从矢量中的每个比较中选择最大值。我有两个向量:

probsA<-posttheta_A^R*(1-posttheta_A)^NR
#2.634872e-02 6.709075e-03 1.107573e-04 1.708307e-03 2.820171e-05

probsB<-posttheta_B^R*(1-posttheta_B)^NR
#0.0013311712 0.0012295459 0.0009688963 0.0011356790 0.0008949280
choice<-max(probsA,probsB)
0.02634872

max函数正在搜索10个值中的最大值并打印出来。我希望它将每个向量中的每个元素与其对应的元素进行比较并打印5个结果。

2 个答案:

答案 0 :(得分:1)

您可以使用Map。 Map将函数应用于给定向量的相应元素。

probsA <- c(2.634872e-02, 6.709075e-03, 1.107573e-04, 1.708307e-03, 2.820171e-05)
probsB <- c(0.0013311712, 0.0012295459, 0.0009688963, 0.0011356790, 0.0008949280)


Map(max, probsA, probsB)

[[1]]
[1] 0.02634872

[[2]]
[1] 0.006709075

[[3]]
[1] 0.0009688963

[[4]]
[1] 0.001708307

[[5]]
[1] 0.000894928

答案 1 :(得分:1)

我们可以使用pmax

pmax(probsA, probsB)
#[1] 0.0263487200 0.0067090750 0.0009688963 0.0017083070 0.0008949280

数据

probsA <- c(2.634872e-02, 6.709075e-03, 1.107573e-04, 1.708307e-03, 2.820171e-05)
probsB <- c(0.0013311712, 0.0012295459, 0.0009688963, 0.0011356790, 0.0008949280)