Remove participants based on a certain criteria












-1















I have an experiment with numerous participants and their choices.
For simplicity, let's assume the following:



part<-c(1,1,1,2,2,2,3,3,3)
choice<-c(6,2,9,2,3,18,3,6,8)
study<-cbind(part,choice)

part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 2 2
[5,] 2 3
[6,] 2 18
[7,] 3 3
[8,] 3 6
[9,] 3 8


Now, I would like to entirely remove certain participants. For example those who made at least one choice above 10. So in the example above, because participant 2, made one choice above 10, I entirely remove him: The final data should look:



      part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 3 3
[5,] 3 6
[6,] 3 8


How can I do it?



Thanks!










share|improve this question


















  • 2





    With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

    – tmfmnk
    Jan 2 at 11:24
















-1















I have an experiment with numerous participants and their choices.
For simplicity, let's assume the following:



part<-c(1,1,1,2,2,2,3,3,3)
choice<-c(6,2,9,2,3,18,3,6,8)
study<-cbind(part,choice)

part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 2 2
[5,] 2 3
[6,] 2 18
[7,] 3 3
[8,] 3 6
[9,] 3 8


Now, I would like to entirely remove certain participants. For example those who made at least one choice above 10. So in the example above, because participant 2, made one choice above 10, I entirely remove him: The final data should look:



      part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 3 3
[5,] 3 6
[6,] 3 8


How can I do it?



Thanks!










share|improve this question


















  • 2





    With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

    – tmfmnk
    Jan 2 at 11:24














-1












-1








-1








I have an experiment with numerous participants and their choices.
For simplicity, let's assume the following:



part<-c(1,1,1,2,2,2,3,3,3)
choice<-c(6,2,9,2,3,18,3,6,8)
study<-cbind(part,choice)

part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 2 2
[5,] 2 3
[6,] 2 18
[7,] 3 3
[8,] 3 6
[9,] 3 8


Now, I would like to entirely remove certain participants. For example those who made at least one choice above 10. So in the example above, because participant 2, made one choice above 10, I entirely remove him: The final data should look:



      part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 3 3
[5,] 3 6
[6,] 3 8


How can I do it?



Thanks!










share|improve this question














I have an experiment with numerous participants and their choices.
For simplicity, let's assume the following:



part<-c(1,1,1,2,2,2,3,3,3)
choice<-c(6,2,9,2,3,18,3,6,8)
study<-cbind(part,choice)

part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 2 2
[5,] 2 3
[6,] 2 18
[7,] 3 3
[8,] 3 6
[9,] 3 8


Now, I would like to entirely remove certain participants. For example those who made at least one choice above 10. So in the example above, because participant 2, made one choice above 10, I entirely remove him: The final data should look:



      part choice
[1,] 1 6
[2,] 1 2
[3,] 1 9
[4,] 3 3
[5,] 3 6
[6,] 3 8


How can I do it?



Thanks!







r filtering subset data-manipulation






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 2 at 11:20









YefRYefR

10119




10119








  • 2





    With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

    – tmfmnk
    Jan 2 at 11:24














  • 2





    With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

    – tmfmnk
    Jan 2 at 11:24








2




2





With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

– tmfmnk
Jan 2 at 11:24





With dplyr you can do study %>% group_by(part) %>% filter(all(choice < 10)).

– tmfmnk
Jan 2 at 11:24












3 Answers
3






active

oldest

votes


















4














library(dplyr)
study %>%
group_by(part) %>%
filter(max(choice)<10)
# A tibble: 6 x 2
# Groups: part [2]
part choice
<dbl> <dbl>
1 1 6
2 1 2
3 1 9
4 3 3
5 3 6
6 3 8





share|improve this answer































    1














    removed = which(study[ , 2]>10);
    study = study[!(study[ , 1] %in% study[removed, 1]), ];

    study
    part choice
    [1,] 1 6
    [2,] 1 2
    [3,] 1 9
    [4,] 3 3
    [5,] 3 6
    [6,] 3 8


    with this code you don't even need to install any package.






    share|improve this answer































      1














      Using R base, without need of loading packages. The example uses variable names, instead of position, for better overview of the solution.



      # Create object to be used in dataframe.
      part <- c(1,1,1,2,2,2,3,3,3)
      choice <- c(6,2,9,2,3,18,3,6,8)
      # Create dataframe.
      study <- data.frame(part, choice)

      # Find rows in column [study$choice]
      find_rows <- which(study$choice > 10)
      # Find participant that matches [find_rows]
      participant_to_be_deleted <- study[find_rows,1]

      # Remove all rows that has found participant in [study$part].
      result <- study[study$part!=participant_to_be_deleted,]





      share|improve this answer























        Your Answer






        StackExchange.ifUsing("editor", function () {
        StackExchange.using("externalEditor", function () {
        StackExchange.using("snippets", function () {
        StackExchange.snippets.init();
        });
        });
        }, "code-snippets");

        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "1"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54005399%2fremove-participants-based-on-a-certain-criteria%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        4














        library(dplyr)
        study %>%
        group_by(part) %>%
        filter(max(choice)<10)
        # A tibble: 6 x 2
        # Groups: part [2]
        part choice
        <dbl> <dbl>
        1 1 6
        2 1 2
        3 1 9
        4 3 3
        5 3 6
        6 3 8





        share|improve this answer




























          4














          library(dplyr)
          study %>%
          group_by(part) %>%
          filter(max(choice)<10)
          # A tibble: 6 x 2
          # Groups: part [2]
          part choice
          <dbl> <dbl>
          1 1 6
          2 1 2
          3 1 9
          4 3 3
          5 3 6
          6 3 8





          share|improve this answer


























            4












            4








            4







            library(dplyr)
            study %>%
            group_by(part) %>%
            filter(max(choice)<10)
            # A tibble: 6 x 2
            # Groups: part [2]
            part choice
            <dbl> <dbl>
            1 1 6
            2 1 2
            3 1 9
            4 3 3
            5 3 6
            6 3 8





            share|improve this answer













            library(dplyr)
            study %>%
            group_by(part) %>%
            filter(max(choice)<10)
            # A tibble: 6 x 2
            # Groups: part [2]
            part choice
            <dbl> <dbl>
            1 1 6
            2 1 2
            3 1 9
            4 3 3
            5 3 6
            6 3 8






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jan 2 at 11:23









            jyjekjyjek

            1,504314




            1,504314

























                1














                removed = which(study[ , 2]>10);
                study = study[!(study[ , 1] %in% study[removed, 1]), ];

                study
                part choice
                [1,] 1 6
                [2,] 1 2
                [3,] 1 9
                [4,] 3 3
                [5,] 3 6
                [6,] 3 8


                with this code you don't even need to install any package.






                share|improve this answer




























                  1














                  removed = which(study[ , 2]>10);
                  study = study[!(study[ , 1] %in% study[removed, 1]), ];

                  study
                  part choice
                  [1,] 1 6
                  [2,] 1 2
                  [3,] 1 9
                  [4,] 3 3
                  [5,] 3 6
                  [6,] 3 8


                  with this code you don't even need to install any package.






                  share|improve this answer


























                    1












                    1








                    1







                    removed = which(study[ , 2]>10);
                    study = study[!(study[ , 1] %in% study[removed, 1]), ];

                    study
                    part choice
                    [1,] 1 6
                    [2,] 1 2
                    [3,] 1 9
                    [4,] 3 3
                    [5,] 3 6
                    [6,] 3 8


                    with this code you don't even need to install any package.






                    share|improve this answer













                    removed = which(study[ , 2]>10);
                    study = study[!(study[ , 1] %in% study[removed, 1]), ];

                    study
                    part choice
                    [1,] 1 6
                    [2,] 1 2
                    [3,] 1 9
                    [4,] 3 3
                    [5,] 3 6
                    [6,] 3 8


                    with this code you don't even need to install any package.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jan 2 at 11:39









                    XinzXinz

                    543




                    543























                        1














                        Using R base, without need of loading packages. The example uses variable names, instead of position, for better overview of the solution.



                        # Create object to be used in dataframe.
                        part <- c(1,1,1,2,2,2,3,3,3)
                        choice <- c(6,2,9,2,3,18,3,6,8)
                        # Create dataframe.
                        study <- data.frame(part, choice)

                        # Find rows in column [study$choice]
                        find_rows <- which(study$choice > 10)
                        # Find participant that matches [find_rows]
                        participant_to_be_deleted <- study[find_rows,1]

                        # Remove all rows that has found participant in [study$part].
                        result <- study[study$part!=participant_to_be_deleted,]





                        share|improve this answer




























                          1














                          Using R base, without need of loading packages. The example uses variable names, instead of position, for better overview of the solution.



                          # Create object to be used in dataframe.
                          part <- c(1,1,1,2,2,2,3,3,3)
                          choice <- c(6,2,9,2,3,18,3,6,8)
                          # Create dataframe.
                          study <- data.frame(part, choice)

                          # Find rows in column [study$choice]
                          find_rows <- which(study$choice > 10)
                          # Find participant that matches [find_rows]
                          participant_to_be_deleted <- study[find_rows,1]

                          # Remove all rows that has found participant in [study$part].
                          result <- study[study$part!=participant_to_be_deleted,]





                          share|improve this answer


























                            1












                            1








                            1







                            Using R base, without need of loading packages. The example uses variable names, instead of position, for better overview of the solution.



                            # Create object to be used in dataframe.
                            part <- c(1,1,1,2,2,2,3,3,3)
                            choice <- c(6,2,9,2,3,18,3,6,8)
                            # Create dataframe.
                            study <- data.frame(part, choice)

                            # Find rows in column [study$choice]
                            find_rows <- which(study$choice > 10)
                            # Find participant that matches [find_rows]
                            participant_to_be_deleted <- study[find_rows,1]

                            # Remove all rows that has found participant in [study$part].
                            result <- study[study$part!=participant_to_be_deleted,]





                            share|improve this answer













                            Using R base, without need of loading packages. The example uses variable names, instead of position, for better overview of the solution.



                            # Create object to be used in dataframe.
                            part <- c(1,1,1,2,2,2,3,3,3)
                            choice <- c(6,2,9,2,3,18,3,6,8)
                            # Create dataframe.
                            study <- data.frame(part, choice)

                            # Find rows in column [study$choice]
                            find_rows <- which(study$choice > 10)
                            # Find participant that matches [find_rows]
                            participant_to_be_deleted <- study[find_rows,1]

                            # Remove all rows that has found participant in [study$part].
                            result <- study[study$part!=participant_to_be_deleted,]






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jan 2 at 11:51









                            ToolboxToolbox

                            647312




                            647312






























                                draft saved

                                draft discarded




















































                                Thanks for contributing an answer to Stack Overflow!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54005399%2fremove-participants-based-on-a-certain-criteria%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                                Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

                                A Topological Invariant for $pi_3(U(n))$