查找列中特定值的最大值?

KLM*_*117 2 r max dataframe

我有一个包含 34 列和 12,964 行的数据框,其中两列是 Gene.Name 和 Mutation_Frequency。例如:

基因名称 Mutation_Frequency
CTLA4 0
TP53 4
CTLA4 2
CTLA4 2
TP53 4
TP53 6

我现在想创建一个名为“Highest_Mutation_Frequency”的列,它告诉我 Gene.Name 的最高突变频率,并将其放在一个新列中,如下所示:

基因名称 Mutation_Frequency Highest_Mutation_Frequency
CTLA4 0 2
TP53 4 6
CTLA4 2 2
CTLA4 2 2
TP53 0 6
TP53 6 6

我意识到我可能可以使用 max() 命令,但我不确定如何实现它。与往常一样,任何帮助表示赞赏!

编辑:虽然这与另一个问题非常相似: 选择每组中具有最大值的行 这个问题还涉及生成唯一的行并将它们放置在另一个数据框中。

Mar*_*Gal 5

你可以使用:

library(dplyr)

data %>%
  group_by(Gene.Name) %>%
  mutate(Highest_Mutation_Frequency = max(Mutation_Frequency))
Run Code Online (Sandbox Code Playgroud)


akr*_*run 5

一个选项 base R

aggregate(cbind(Highest_Mutation_Frequency = Mutation_Frequency) ~ Gene.Name, data, FUN = max)
Run Code Online (Sandbox Code Playgroud)