Max-If ex中的excel复制

时间:2017-04-26 16:16:22

标签: r

我试图从R中的Excel复制max if函数。

ksu       price   max
9144037   3.11    3.11
8448749   4.19    5.24
9649391   0       8.39
8448749   4.19    5.24
8448749   4.19    5.24
8448749   4.19    5.24
8448749   4.19    5.24
9649391   8.39    8.39
8448749   5.24    5.24
9144037   1.99    3.11
9144037   1.99    3.11

如果我在excel中这样做,我会使用max(if())。此代码应该查看每个ksu的最大价格,并返回最后一列的最大值。我试过这个:

max(price[ksu == ksu])

但它并没有给我所需的输出。无论ksu如何,它只返回一个最大值。

2 个答案:

答案 0 :(得分:2)

假设您有一个名为viewData()的data.frame,您可以轻松使用df函数来获取所需内容。一个例子:

ave

因此,使用您的变量名称(但仍假设data.frame为> df <- data.frame(grp = c('a','a','b','b'), vals = 1:4) > df grp vals 1 a 1 2 a 2 3 b 3 4 b 4 > # Returns a vector > ave(df$vals, df$grp, FUN = max) [1] 2 2 4 4 > # So we can store it back into the data.frame if we want > df$max <- ave(df$vals, df$grp, FUN = max) > df grp vals max 1 a 1 2 2 a 2 2 3 b 3 4 4 b 4 4 ):

df

答案 1 :(得分:1)

假设您的数据位于名为data.frame的{​​{1}}中,我们可以使用 dat 包:

dplyr