How do i use a loop to delete columns in a data frame?












1















My code:



SMI_Mly$V1 <- NULL
SMI_Mly$V2 <- NULL
SMI_Mly$V3 <- NULL
SMI_Mly$V4 <- NULL
...
SMI_Mly$V10 <- NULL


I am sure there is a better and shorter way to delete all these columns from the dataframe. Maybe by using a loop? Can someone please show me how to do it?










share|improve this question

























  • SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

    – markus
    Nov 28 '18 at 13:36


















1















My code:



SMI_Mly$V1 <- NULL
SMI_Mly$V2 <- NULL
SMI_Mly$V3 <- NULL
SMI_Mly$V4 <- NULL
...
SMI_Mly$V10 <- NULL


I am sure there is a better and shorter way to delete all these columns from the dataframe. Maybe by using a loop? Can someone please show me how to do it?










share|improve this question

























  • SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

    – markus
    Nov 28 '18 at 13:36
















1












1








1








My code:



SMI_Mly$V1 <- NULL
SMI_Mly$V2 <- NULL
SMI_Mly$V3 <- NULL
SMI_Mly$V4 <- NULL
...
SMI_Mly$V10 <- NULL


I am sure there is a better and shorter way to delete all these columns from the dataframe. Maybe by using a loop? Can someone please show me how to do it?










share|improve this question
















My code:



SMI_Mly$V1 <- NULL
SMI_Mly$V2 <- NULL
SMI_Mly$V3 <- NULL
SMI_Mly$V4 <- NULL
...
SMI_Mly$V10 <- NULL


I am sure there is a better and shorter way to delete all these columns from the dataframe. Maybe by using a loop? Can someone please show me how to do it?







r loops dataframe






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 28 '18 at 13:34









markus

14.8k11336




14.8k11336










asked Nov 26 '18 at 11:28









TheBeginnerTheBeginner

62




62













  • SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

    – markus
    Nov 28 '18 at 13:36





















  • SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

    – markus
    Nov 28 '18 at 13:36



















SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

– markus
Nov 28 '18 at 13:36







SMI_Mly[paste0("V", c(1:10))] <- NULL, please also consider to accept Tim's answer if it solved your problem.

– markus
Nov 28 '18 at 13:36














1 Answer
1






active

oldest

votes


















0














You may use an appropriate subset here:



cols <- paste0("V", c(1:10))
indices <- sapply(cols, function(x) { grep(x, names(df)) })
SMI_Mly[, -indices]


The above call to sapply generates the positional indices of the columns V1 to V10 which you wish to exclude from your data frame. Then, we may use subset notation to exclude those columns.






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%2f53480144%2fhow-do-i-use-a-loop-to-delete-columns-in-a-data-frame%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You may use an appropriate subset here:



    cols <- paste0("V", c(1:10))
    indices <- sapply(cols, function(x) { grep(x, names(df)) })
    SMI_Mly[, -indices]


    The above call to sapply generates the positional indices of the columns V1 to V10 which you wish to exclude from your data frame. Then, we may use subset notation to exclude those columns.






    share|improve this answer






























      0














      You may use an appropriate subset here:



      cols <- paste0("V", c(1:10))
      indices <- sapply(cols, function(x) { grep(x, names(df)) })
      SMI_Mly[, -indices]


      The above call to sapply generates the positional indices of the columns V1 to V10 which you wish to exclude from your data frame. Then, we may use subset notation to exclude those columns.






      share|improve this answer




























        0












        0








        0







        You may use an appropriate subset here:



        cols <- paste0("V", c(1:10))
        indices <- sapply(cols, function(x) { grep(x, names(df)) })
        SMI_Mly[, -indices]


        The above call to sapply generates the positional indices of the columns V1 to V10 which you wish to exclude from your data frame. Then, we may use subset notation to exclude those columns.






        share|improve this answer















        You may use an appropriate subset here:



        cols <- paste0("V", c(1:10))
        indices <- sapply(cols, function(x) { grep(x, names(df)) })
        SMI_Mly[, -indices]


        The above call to sapply generates the positional indices of the columns V1 to V10 which you wish to exclude from your data frame. Then, we may use subset notation to exclude those columns.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 26 '18 at 11:37

























        answered Nov 26 '18 at 11:31









        Tim BiegeleisenTim Biegeleisen

        236k13100160




        236k13100160
































            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%2f53480144%2fhow-do-i-use-a-loop-to-delete-columns-in-a-data-frame%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

            Costa Masnaga

            Fotorealismo

            Create new schema in PostgreSQL using DBeaver