Use purrr with prop.test over multiple rows (and columns)












1















Similar to this question, but not exactly the same.



 result test1 test2 test3 test4
a 13 12 12 8
b 5 9 10 8
c 39 24 30 29


How can I use purr for row and columnwise prop.tests comparing test1 to test2:test4 by result?



Manually I guess it would look like this for each test:



result: a, test1, test2: prop.test(c(13, 12), c(57, 45))



result: c, test1, test4: prop.test(c(30, 29), c(57, 45))










share|improve this question























  • Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

    – AntoniosK
    Nov 13 '18 at 13:41
















1















Similar to this question, but not exactly the same.



 result test1 test2 test3 test4
a 13 12 12 8
b 5 9 10 8
c 39 24 30 29


How can I use purr for row and columnwise prop.tests comparing test1 to test2:test4 by result?



Manually I guess it would look like this for each test:



result: a, test1, test2: prop.test(c(13, 12), c(57, 45))



result: c, test1, test4: prop.test(c(30, 29), c(57, 45))










share|improve this question























  • Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

    – AntoniosK
    Nov 13 '18 at 13:41














1












1








1


0






Similar to this question, but not exactly the same.



 result test1 test2 test3 test4
a 13 12 12 8
b 5 9 10 8
c 39 24 30 29


How can I use purr for row and columnwise prop.tests comparing test1 to test2:test4 by result?



Manually I guess it would look like this for each test:



result: a, test1, test2: prop.test(c(13, 12), c(57, 45))



result: c, test1, test4: prop.test(c(30, 29), c(57, 45))










share|improve this question














Similar to this question, but not exactly the same.



 result test1 test2 test3 test4
a 13 12 12 8
b 5 9 10 8
c 39 24 30 29


How can I use purr for row and columnwise prop.tests comparing test1 to test2:test4 by result?



Manually I guess it would look like this for each test:



result: a, test1, test2: prop.test(c(13, 12), c(57, 45))



result: c, test1, test4: prop.test(c(30, 29), c(57, 45))







r purrr






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 13 '18 at 13:16









stapperenstapperen

375




375













  • Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

    – AntoniosK
    Nov 13 '18 at 13:41



















  • Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

    – AntoniosK
    Nov 13 '18 at 13:41

















Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

– AntoniosK
Nov 13 '18 at 13:41





Do you mean prop.test(c(30, 24), c(57, 45)) for the last one?

– AntoniosK
Nov 13 '18 at 13:41












1 Answer
1






active

oldest

votes


















0














# example data
dt = read.table(text = "
result test1 test2 test3 test4
a 13 12 12 8
b 5 9 10 8
c 39 24 30 29
", header=T, stringsAsFactors=F)


# function to get prop.test
# based on a row and two columns
GetTest = function(r, t1, t2) {

prop.test(unlist(dt[dt$result == r, c(t1, t2)]),
colSums(dt[,c(t1, t2)]))

}

# apply function
GetTest("a","test1","test2")

# 2-sample test for equality of proportions with continuity correction
#
# data: unlist(dt[dt$result == r, c(t1, t2)]) out of colSums(dt[, c(t1, t2)])
# X-squared = 0.047595, df = 1, p-value = 0.8273
# alternative hypothesis: two.sided
# 95 percent confidence interval:
# -0.2274729 0.1502799
# sample estimates:
# prop 1 prop 2
# 0.2280702 0.2666667





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%2f53281855%2fuse-purrr-with-prop-test-over-multiple-rows-and-columns%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














    # example data
    dt = read.table(text = "
    result test1 test2 test3 test4
    a 13 12 12 8
    b 5 9 10 8
    c 39 24 30 29
    ", header=T, stringsAsFactors=F)


    # function to get prop.test
    # based on a row and two columns
    GetTest = function(r, t1, t2) {

    prop.test(unlist(dt[dt$result == r, c(t1, t2)]),
    colSums(dt[,c(t1, t2)]))

    }

    # apply function
    GetTest("a","test1","test2")

    # 2-sample test for equality of proportions with continuity correction
    #
    # data: unlist(dt[dt$result == r, c(t1, t2)]) out of colSums(dt[, c(t1, t2)])
    # X-squared = 0.047595, df = 1, p-value = 0.8273
    # alternative hypothesis: two.sided
    # 95 percent confidence interval:
    # -0.2274729 0.1502799
    # sample estimates:
    # prop 1 prop 2
    # 0.2280702 0.2666667





    share|improve this answer




























      0














      # example data
      dt = read.table(text = "
      result test1 test2 test3 test4
      a 13 12 12 8
      b 5 9 10 8
      c 39 24 30 29
      ", header=T, stringsAsFactors=F)


      # function to get prop.test
      # based on a row and two columns
      GetTest = function(r, t1, t2) {

      prop.test(unlist(dt[dt$result == r, c(t1, t2)]),
      colSums(dt[,c(t1, t2)]))

      }

      # apply function
      GetTest("a","test1","test2")

      # 2-sample test for equality of proportions with continuity correction
      #
      # data: unlist(dt[dt$result == r, c(t1, t2)]) out of colSums(dt[, c(t1, t2)])
      # X-squared = 0.047595, df = 1, p-value = 0.8273
      # alternative hypothesis: two.sided
      # 95 percent confidence interval:
      # -0.2274729 0.1502799
      # sample estimates:
      # prop 1 prop 2
      # 0.2280702 0.2666667





      share|improve this answer


























        0












        0








        0







        # example data
        dt = read.table(text = "
        result test1 test2 test3 test4
        a 13 12 12 8
        b 5 9 10 8
        c 39 24 30 29
        ", header=T, stringsAsFactors=F)


        # function to get prop.test
        # based on a row and two columns
        GetTest = function(r, t1, t2) {

        prop.test(unlist(dt[dt$result == r, c(t1, t2)]),
        colSums(dt[,c(t1, t2)]))

        }

        # apply function
        GetTest("a","test1","test2")

        # 2-sample test for equality of proportions with continuity correction
        #
        # data: unlist(dt[dt$result == r, c(t1, t2)]) out of colSums(dt[, c(t1, t2)])
        # X-squared = 0.047595, df = 1, p-value = 0.8273
        # alternative hypothesis: two.sided
        # 95 percent confidence interval:
        # -0.2274729 0.1502799
        # sample estimates:
        # prop 1 prop 2
        # 0.2280702 0.2666667





        share|improve this answer













        # example data
        dt = read.table(text = "
        result test1 test2 test3 test4
        a 13 12 12 8
        b 5 9 10 8
        c 39 24 30 29
        ", header=T, stringsAsFactors=F)


        # function to get prop.test
        # based on a row and two columns
        GetTest = function(r, t1, t2) {

        prop.test(unlist(dt[dt$result == r, c(t1, t2)]),
        colSums(dt[,c(t1, t2)]))

        }

        # apply function
        GetTest("a","test1","test2")

        # 2-sample test for equality of proportions with continuity correction
        #
        # data: unlist(dt[dt$result == r, c(t1, t2)]) out of colSums(dt[, c(t1, t2)])
        # X-squared = 0.047595, df = 1, p-value = 0.8273
        # alternative hypothesis: two.sided
        # 95 percent confidence interval:
        # -0.2274729 0.1502799
        # sample estimates:
        # prop 1 prop 2
        # 0.2280702 0.2666667






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 '18 at 13:55









        AntoniosKAntoniosK

        12.6k1922




        12.6k1922






























            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%2f53281855%2fuse-purrr-with-prop-test-over-multiple-rows-and-columns%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

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma