【发布时间】:2019-04-10 19:30:55
【问题描述】:
我在一个字符向量中有一长串列名,它们指代各种药物。我喜欢将该列表保留在我的代码顶部,以便在我的脚本中的各个点上轻松编辑和引用药物组。我想使用 dplyr 获取药物中的行最大值,方法是为其提供列名的预定义向量以找到最大值。似乎有一个简单的解决方法,但它今天让我失望了......
我尝试了下面的代码,但它返回列名列表中的名称之一。
我还尝试了使用 get()、select() 和 do.call() 的各种排列,以尝试让 R 以不同的方式读取字符向量,但我无法弄清楚...
data(mtcars)
colnames <- c("vs", "am", "gear", "carb")
df <- mtcars %>%
rowwise() %>%
mutate(max = max(colnames))
编辑:我希望在新列中显示最大值。例如,我希望输出如下:
vs am gear carb MAX
0 1 4 4 4
0 1 4 4 4
1 1 4 1 4
1 0 3 1 3
0 0 3 2 3
【问题讨论】:
-
如果最大值出现平局怎么办?您可以与
mtcars分享您想要的输出吗?pmax可能比max这里更好 -
@Mike 我在上面添加了一个我想要的输出示例。我确实认为 pmax 可能是正确的。
-
我在下面更新了我的答案,还展示了一种使用
pmax的方法