R 按组排序数据帧,仅输出前n个值

R 按组排序数据帧,仅输出前n个值,r,performance,R,Performance,我有一个数据框架,包含数千种分类的统计度量。这些数据具有许多不同的类别。我输出数据帧,先按类排序,然后按度量值排序: statia[订单(statia$class,-statia$MCC,-statia$ROC\u区域,-statia$F.Measure),] 有没有一种简单的方法来修改这个命令,这样我就不会得到所有的行,而是得到每个类的前n行,从而得到MMC值最高的n行 编辑: 正如评论中批评的那样,我试图举一个例子。我希望这将有助于防止今后的混乱。然而,@初学者的答案正是我想要的。以后我会尽

我有一个数据框架,包含数千种分类的统计度量。这些数据具有许多不同的类别。我输出数据帧,先按类排序,然后按度量值排序:

statia[订单(statia$class,-statia$MCC,-statia$ROC\u区域,-statia$F.Measure),]

有没有一种简单的方法来修改这个命令,这样我就不会得到所有的行,而是得到每个类的前n行,从而得到MMC值最高的n行

编辑:

正如评论中批评的那样,我试图举一个例子。我希望这将有助于防止今后的混乱。然而,@初学者的答案正是我想要的。以后我会尽量把我的问题弄清楚

1              file           class     MCC ROC_Area F.measure
2          run1.txt     Iris-setosa    0.98        0         1
3          run1.txt Iris-versicolor    0.92     0.06     0.885
4          run1.txt  Iris-virginica     0.9     0.04     0.918
5          run1.txt   Weighted_Avg.   0.933    0.033     0.934
6          run3.txt     Iris-setosa       1        0         1
7          run3.txt Iris-versicolor       1        0         1
8          run3.txt  Iris-virginica       1        0         1
9          run3.txt   Weighted_Avg.       1        0         1
10         [...]
我想要的是(如解决方案中所示): 示例:每类中,MCC值最高的3个样品:

1              file           class     MCC ROC_Area F.measure
2          run3.txt     Iris-setosa       1        0         1
3          run1.txt     Iris-setosa    0.98        0         1
4          run5.txt     Iris-setosa    0.60        0         1
5          run3.txt Iris-versicolor       1        0         1
6          run1.txt Iris-versicolor    0.92     0.06     0.885
7          [...]

使用
dplyr
可以执行以下操作:

library(dplyr)
statiaNew <- statia %>%
    group_by(class) %>%
    arrange(class, desc(MCC), desc(ROC_Area), desc(F.Measure)) %>%
    do(head(., 10))    # to show the first 10 rows per class

使用
dplyr
可以执行以下操作:

library(dplyr)
statiaNew <- statia %>%
    group_by(class) %>%
    arrange(class, desc(MCC), desc(ROC_Area), desc(F.Measure)) %>%
    do(head(., 10))    # to show the first 10 rows per class

使用
dplyr
可以执行以下操作:

library(dplyr)
statiaNew <- statia %>%
    group_by(class) %>%
    arrange(class, desc(MCC), desc(ROC_Area), desc(F.Measure)) %>%
    do(head(., 10))    # to show the first 10 rows per class

使用
dplyr
可以执行以下操作:

library(dplyr)
statiaNew <- statia %>%
    group_by(class) %>%
    arrange(class, desc(MCC), desc(ROC_Area), desc(F.Measure)) %>%
    do(head(., 10))    # to show the first 10 rows per class



您是否尝试过
?head
?@davidernburg有多个类,因此您仍然需要拆分frames@Calimo,他没有提供所需输出的任何数据,因此我可能误解了question@DavidArenburg虽然我同意花时间提供数据/可复制示例是礼貌的,有时可以帮助解决问题,我认为在这种情况下,1)从问题中可以明显看出,有不止一门课,2)在没有数据的情况下很容易回答问题。@Calimo,我不同意。事实上,初学者必须创建一些数据来解决这个问题。没有其他人不介意你尝试过
?head
?@davidernburg有多个类,所以你仍然需要拆分frames@Calimo,他没有提供任何数据,所以我可能误解了他的意思question@DavidArenburg虽然我同意花时间提供数据/可复制示例是礼貌的,有时可以帮助解决问题,我认为在这种情况下,1)从问题中可以明显看出,有不止一门课,2)在没有数据的情况下很容易回答问题。@Calimo,我不同意。事实上,初学者必须创建一些数据来解决这个问题。没有其他人不介意你尝试过
?head
?@davidernburg有多个类,所以你仍然需要拆分frames@Calimo,他没有提供任何数据,所以我可能误解了他的意思question@DavidArenburg虽然我同意花时间提供数据/可复制示例是礼貌的,有时可以帮助解决问题,我认为在这种情况下,1)从问题中可以明显看出,有不止一门课,2)在没有数据的情况下很容易回答问题。@Calimo,我不同意。事实上,初学者必须创建一些数据来解决这个问题。没有其他人不介意你尝试过
?head
?@davidernburg有多个类,所以你仍然需要拆分frames@Calimo,他没有提供任何数据,所以我可能误解了他的意思question@DavidArenburg虽然我同意花时间提供数据/可复制示例是礼貌的,有时可以帮助解决问题,我认为在这种情况下,1)从问题中可以明显看出,有不止一门课,2)在没有数据的情况下很容易回答问题。@Calimo,我不同意。事实上,初学者必须创建一些数据来解决这个问题。没有其他人不关心你是否在没有任何证据证明你的代码有效的情况下再次提供了一个虚构数据的解决方案?:)我毫不怀疑。我只是认为我们不应该试图回答问题,当OP没有尽最小的努力提供一个可复制的例子和期望的输出时,原因有二。1-如果他不愿意自己动手,我们为什么要这么做。2-你无法真正了解他的数据是什么样子,他到底想要什么,当OP说这不是他想要的时,你可能会发现自己与OP有一长串的评论,你试图提供替代方案等等。这只是浪费时间和精力,没有建设性。@Davidernburg数据的结构足够清晰,可以毫无疑问地回答这个问题,没有歧义。你不能把数据称为虚构的:它是自我解释的。至于1,初学者决定回答,这是他的问题。如果我问的问题不清楚,请原谅。虽然现在已经晚了,但我现在提供了一个例子。“我希望这能得到你的批评,”戴维达伦伯格说。无论如何,我希望它至少能帮助以后阅读这个问题的人。多亏了贝金纳,我才找到了答案。你是否又在没有任何证据证明你的代码有效的情况下为一个虚构的数据提供了解决方案?:)我毫不怀疑。我只是认为我们不应该试图回答问题,当OP没有尽最小的努力提供一个可复制的例子和期望的输出时,原因有二。1-如果他不愿意自己动手,我们为什么要这么做。2-你无法真正了解他的数据是什么样子,他到底想要什么,当OP说这不是他想要的时,你可能会发现自己与OP有一长串的评论,你试图提供替代方案等等。这只是浪费时间和精力,没有建设性。@Davidernburg数据的结构足够清晰,可以毫无疑问地回答这个问题,没有歧义。你不能把数据称为虚构的:它是自我解释的。至于1,初学者决定回答,这是他的问题。如果我问的问题不清楚,请原谅。虽然现在已经晚了,但我现在提供了一个例子。“我希望这能得到你的批评,”戴维达伦伯格说。无论如何,我希望它至少能帮助以后阅读这个问题的人。多亏了贝金纳,我才找到了答案。你是否又在没有任何证据证明你的代码可以工作的情况下,为一个虚构的数据提供了解决方案