<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Secure ranking of "V2BR" (vector to be ranked) across all sources — ranksSecureDS2 • dsBase</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/simplex/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Secure ranking of " v2br to be ranked across all sources rankssecureds2><meta property="og:description" content="Checks that the data frame produced in creating the initial
global ranks (ranks based on real and pseudo-data after the running of
blackBoxDS)has the correct dimensions and order as the serverside data frames
to which it will now be appended. If either the number of rows or the order
of the rows are inconsistent with the pre-existing data frames on the
serverside an error message is returned and the processing stops. Then
strips out the pseudo-data leaving solely the global ranks based just on
the real data"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
    

    <div class="container template-reference-topic">
      <header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">dsBase</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">6.3.0</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav"><li>
  <a href="../reference/index.html">Reference</a>
</li>
      </ul><ul class="nav navbar-nav navbar-right"></ul></div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header><div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Secure ranking of "V2BR" (vector to be ranked) across all sources</h1>
    
    <div class="hidden name"><code>ranksSecureDS2.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Checks that the data frame produced in creating the initial
global ranks (ranks based on real and pseudo-data after the running of
blackBoxDS)has the correct dimensions and order as the serverside data frames
to which it will now be appended. If either the number of rows or the order
of the rows are inconsistent with the pre-existing data frames on the
serverside an error message is returned and the processing stops. Then
strips out the pseudo-data leaving solely the global ranks based just on
the real data</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="fu">ranksSecureDS2</span><span class="op">(</span><span class="op">)</span></code></pre></div>
    </div>

    <div id="value">
    <h2>Value</h2>
    

<p>creates a new data frame sR5.df on the serverside containing
solely the real data and including key elements needed for next stage of the
ranking process. Most crucially these include "global.rank" and "ID.by.val"
sorted in ascending order of the magnitude of V2BR</p>
    </div>
    <div id="details">
    <h2>Details</h2>
    <p>Severside assign function called by ds.ranksSecure. 
It works on the on the output created by serverside function ranksSecureDS1
and saved on the serverside in data frame sR4.df by ds.dmtC2S. Having
checked QA it strips out all rows corresponding to pseudo-data. The resultant
data frame contains the following vectors: (1) the fully encrypted V2BR
(after application of blackBoxDS);(2) "ID.by.val" the sequential
ID associated with the "combined real+pseudo data vector" sorted by
value (ascending); (3) "studyid", a vector consisting solely of value n in
the nth study; (4) "global.rank" the vector containing global ranks created by
the clientside code in ds.ranksSecure after ranksSecureDS1 is called and up
to the point where ds.dmtC2S sends sR4.df to the serverside. For more
details about the cluster of functions that collectively enable secure global
ranking and estimation of global quantiles see the associated document
entitled "secure.global.ranking.docx". Also see the header file
for ds.ranksSecure</p>
    </div>
    <div id="author">
    <h2>Author</h2>
    <p>Paul Burton 9th November, 2021</p>
    </div>

  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
    </nav></div>
</div>


      <footer><div class="copyright">
  <p></p><p>Developed by DataSHIELD Developers.</p>
</div>

<div class="pkgdown">
  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>

      </footer></div>

  


  

  </body></html>

