2022-05-25 01:54:47 +00:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
|
|
|
|
|
<html>
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
|
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
|
<meta name="generator" content="pandoc" />
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="author" content="Rucknium" />
|
|
|
|
|
|
|
|
|
|
<meta name="date" content="2022-05-26" />
|
|
|
|
|
|
|
|
|
|
<title>Financial Marginalization and Cryptocurrency Payments</title>
|
|
|
|
|
|
|
|
|
|
<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
|
|
|
|
|
// be compatible with the behavior of Pandoc < 2.8).
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function(e) {
|
|
|
|
|
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
|
|
|
|
|
var i, h, a;
|
|
|
|
|
for (i = 0; i < hs.length; i++) {
|
|
|
|
|
h = hs[i];
|
|
|
|
|
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
|
|
|
|
|
a = h.attributes;
|
|
|
|
|
while (a.length > 0) h.removeAttribute(a[0].name);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<script>/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
|
|
|
|
|
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e
|
|
|
|
|
</script>
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
|
<style type="text/css">html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(data:application/vnd.ms-fontobject;base64,n04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ/LAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM/SEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ+pexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h/v4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs+LWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy+pRYVKGVS/1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr/Cm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB+lSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX+VSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G+KspT/FupEGGafCCwxSe6ZUa+073rXHnNdVXE6eW
|
|
|
|
|
</style>
|
|
|
|
|
<script>/*!
|
|
|
|
|
* Bootstrap v3.3.5 (http://getbootstrap.com)
|
|
|
|
|
* Copyright 2011-2015 Twitter, Inc.
|
|
|
|
|
* Licensed under the MIT license
|
|
|
|
|
*/
|
|
|
|
|
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==type
|
|
|
|
|
d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affi
|
|
|
|
|
<script>/**
|
|
|
|
|
* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
|
|
|
*/
|
|
|
|
|
// Only run this code in IE 8
|
|
|
|
|
if (!!window.navigator.userAgent.match("MSIE 8")) {
|
|
|
|
|
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document);
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
<script>/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
|
|
|
|
|
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
|
|
|
|
|
* */
|
|
|
|
|
|
|
|
|
|
// Only run this code in IE 8
|
|
|
|
|
if (!!window.navigator.userAgent.match("MSIE 8")) {
|
|
|
|
|
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmVal
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
<style>h1 {font-size: 34px;}
|
|
|
|
|
h1.title {font-size: 38px;}
|
|
|
|
|
h2 {font-size: 30px;}
|
|
|
|
|
h3 {font-size: 24px;}
|
|
|
|
|
h4 {font-size: 18px;}
|
|
|
|
|
h5 {font-size: 16px;}
|
|
|
|
|
h6 {font-size: 12px;}
|
|
|
|
|
code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
|
|
|
|
|
pre:not([class]) { background-color: white }</style>
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* jQuery Plugin: Sticky Tabs
|
|
|
|
|
*
|
|
|
|
|
* @author Aidan Lister <aidan@php.net>
|
|
|
|
|
* adapted by Ruben Arslan to activate parent tabs too
|
|
|
|
|
* http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/
|
|
|
|
|
*/
|
|
|
|
|
(function($) {
|
|
|
|
|
"use strict";
|
|
|
|
|
$.fn.rmarkdownStickyTabs = function() {
|
|
|
|
|
var context = this;
|
|
|
|
|
// Show the tab corresponding with the hash in the URL, or the first tab
|
|
|
|
|
var showStuffFromHash = function() {
|
|
|
|
|
var hash = window.location.hash;
|
|
|
|
|
var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a';
|
|
|
|
|
var $selector = $(selector, context);
|
|
|
|
|
if($selector.data('toggle') === "tab") {
|
|
|
|
|
$selector.tab('show');
|
|
|
|
|
// walk up the ancestors of this element, show any hidden tabs
|
|
|
|
|
$selector.parents('.section.tabset').each(function(i, elm) {
|
|
|
|
|
var link = $('a[href="#' + $(elm).attr('id') + '"]');
|
|
|
|
|
if(link.data('toggle') === "tab") {
|
|
|
|
|
link.tab("show");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Set the correct tab when the page loads
|
|
|
|
|
showStuffFromHash(context);
|
|
|
|
|
|
|
|
|
|
// Set the correct tab when a user uses their back/forward button
|
|
|
|
|
$(window).on('hashchange', function() {
|
|
|
|
|
showStuffFromHash(context);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Change the URL when tabs are clicked
|
|
|
|
|
$('a', context).on('click', function(e) {
|
|
|
|
|
history.pushState(null, null, this.href);
|
|
|
|
|
showStuffFromHash(context);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return this;
|
|
|
|
|
};
|
|
|
|
|
}(jQuery));
|
|
|
|
|
|
|
|
|
|
window.buildTabsets = function(tocID) {
|
|
|
|
|
|
|
|
|
|
// build a tabset from a section div with the .tabset class
|
|
|
|
|
function buildTabset(tabset) {
|
|
|
|
|
|
|
|
|
|
// check for fade and pills options
|
|
|
|
|
var fade = tabset.hasClass("tabset-fade");
|
|
|
|
|
var pills = tabset.hasClass("tabset-pills");
|
|
|
|
|
var navClass = pills ? "nav-pills" : "nav-tabs";
|
|
|
|
|
|
|
|
|
|
// determine the heading level of the tabset and tabs
|
|
|
|
|
var match = tabset.attr('class').match(/level(\d) /);
|
|
|
|
|
if (match === null)
|
|
|
|
|
return;
|
|
|
|
|
var tabsetLevel = Number(match[1]);
|
|
|
|
|
var tabLevel = tabsetLevel + 1;
|
|
|
|
|
|
|
|
|
|
// find all subheadings immediately below
|
|
|
|
|
var tabs = tabset.find("div.section.level" + tabLevel);
|
|
|
|
|
if (!tabs.length)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
// create tablist and tab-content elements
|
|
|
|
|
var tabList = $('<ul class="nav ' + navClass + '" role="tablist"></ul>');
|
|
|
|
|
$(tabs[0]).before(tabList);
|
|
|
|
|
var tabContent = $('<div class="tab-content"></div>');
|
|
|
|
|
$(tabs[0]).before(tabContent);
|
|
|
|
|
|
|
|
|
|
// build the tabset
|
|
|
|
|
var activeTab = 0;
|
|
|
|
|
tabs.each(function(i) {
|
|
|
|
|
|
|
|
|
|
// get the tab div
|
|
|
|
|
var tab = $(tabs[i]);
|
|
|
|
|
|
|
|
|
|
// get the id then sanitize it for use with bootstrap tabs
|
|
|
|
|
var id = tab.attr('id');
|
|
|
|
|
|
|
|
|
|
// see if this is marked as the active tab
|
|
|
|
|
if (tab.hasClass('active'))
|
|
|
|
|
activeTab = i;
|
|
|
|
|
|
|
|
|
|
// remove any table of contents entries associated with
|
|
|
|
|
// this ID (since we'll be removing the heading element)
|
|
|
|
|
$("div#" + tocID + " li a[href='#" + id + "']").parent().remove();
|
|
|
|
|
|
|
|
|
|
// sanitize the id for use with bootstrap tabs
|
|
|
|
|
id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_');
|
|
|
|
|
tab.attr('id', id);
|
|
|
|
|
|
|
|
|
|
// get the heading element within it, grab it's text, then remove it
|
|
|
|
|
var heading = tab.find('h' + tabLevel + ':first');
|
|
|
|
|
var headingText = heading.html();
|
|
|
|
|
heading.remove();
|
|
|
|
|
|
|
|
|
|
// build and append the tab list item
|
|
|
|
|
var a = $('<a role="tab" data-toggle="tab">' + headingText + '</a>');
|
|
|
|
|
a.attr('href', '#' + id);
|
|
|
|
|
a.attr('aria-controls', id);
|
|
|
|
|
var li = $('<li role="presentation"></li>');
|
|
|
|
|
li.append(a);
|
|
|
|
|
tabList.append(li);
|
|
|
|
|
|
|
|
|
|
// set it's attributes
|
|
|
|
|
tab.attr('role', 'tabpanel');
|
|
|
|
|
tab.addClass('tab-pane');
|
|
|
|
|
tab.addClass('tabbed-pane');
|
|
|
|
|
if (fade)
|
|
|
|
|
tab.addClass('fade');
|
|
|
|
|
|
|
|
|
|
// move it into the tab content div
|
|
|
|
|
tab.detach().appendTo(tabContent);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// set active tab
|
|
|
|
|
$(tabList.children('li')[activeTab]).addClass('active');
|
|
|
|
|
var active = $(tabContent.children('div.section')[activeTab]);
|
|
|
|
|
active.addClass('active');
|
|
|
|
|
if (fade)
|
|
|
|
|
active.addClass('in');
|
|
|
|
|
|
|
|
|
|
if (tabset.hasClass("tabset-sticky"))
|
|
|
|
|
tabset.rmarkdownStickyTabs();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// convert section divs with the .tabset class to tabsets
|
|
|
|
|
var tabsets = $("div.section.tabset");
|
|
|
|
|
tabsets.each(function(i) {
|
|
|
|
|
buildTabset($(tabsets[i]));
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
<style type="text/css">.hljs-literal {
|
|
|
|
|
color: #990073;
|
|
|
|
|
}
|
|
|
|
|
.hljs-number {
|
|
|
|
|
color: #099;
|
|
|
|
|
}
|
|
|
|
|
.hljs-comment {
|
|
|
|
|
color: #998;
|
|
|
|
|
font-style: italic;
|
|
|
|
|
}
|
|
|
|
|
.hljs-keyword {
|
|
|
|
|
color: #900;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
.hljs-string {
|
|
|
|
|
color: #d14;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<script src="data:application/javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0Kys
|
|
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
code{white-space: pre-wrap;}
|
|
|
|
|
span.smallcaps{font-variant: small-caps;}
|
|
|
|
|
span.underline{text-decoration: underline;}
|
|
|
|
|
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
|
|
|
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
|
|
|
ul.task-list{list-style: none;}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<style type="text/css">code{white-space: pre;}</style>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
if (window.hljs) {
|
|
|
|
|
hljs.configure({languages: []});
|
|
|
|
|
hljs.initHighlightingOnLoad();
|
|
|
|
|
if (document.readyState && document.readyState === "complete") {
|
|
|
|
|
window.setTimeout(function() { hljs.initHighlighting(); }, 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
.main-container {
|
|
|
|
|
max-width: 940px;
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
margin-right: auto;
|
|
|
|
|
}
|
|
|
|
|
img {
|
|
|
|
|
max-width:100%;
|
|
|
|
|
}
|
|
|
|
|
.tabbed-pane {
|
|
|
|
|
padding-top: 12px;
|
|
|
|
|
}
|
|
|
|
|
.html-widget {
|
|
|
|
|
margin-bottom: 20px;
|
|
|
|
|
}
|
|
|
|
|
button.code-folding-btn:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
}
|
|
|
|
|
summary {
|
|
|
|
|
display: list-item;
|
|
|
|
|
}
|
|
|
|
|
details > summary > p:only-child {
|
|
|
|
|
display: inline;
|
|
|
|
|
}
|
|
|
|
|
pre code {
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- tabsets -->
|
|
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
.tabset-dropdown > .nav-tabs {
|
|
|
|
|
display: inline-table;
|
|
|
|
|
max-height: 500px;
|
|
|
|
|
min-height: 44px;
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
border: 1px solid #ddd;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li.active:before {
|
|
|
|
|
content: "";
|
|
|
|
|
font-family: 'Glyphicons Halflings';
|
|
|
|
|
display: inline-block;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-right: 1px solid #ddd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
|
|
|
|
|
content: "";
|
|
|
|
|
border: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs.nav-tabs-open:before {
|
|
|
|
|
content: "";
|
|
|
|
|
font-family: 'Glyphicons Halflings';
|
|
|
|
|
display: inline-block;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-right: 1px solid #ddd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li.active {
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li > a,
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li > a:focus,
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li > a:hover {
|
|
|
|
|
border: none;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
background-color: transparent;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
|
|
|
|
|
display: block;
|
|
|
|
|
float: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tabset-dropdown > .nav-tabs > li {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<!-- code folding -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="container-fluid main-container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="header">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 class="title toc-ignore">Financial Marginalization and
|
|
|
|
|
Cryptocurrency Payments</h1>
|
|
|
|
|
<h4 class="author">Rucknium</h4>
|
|
|
|
|
<h4 class="date">2022-05-26</h4>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
2022-05-26 17:10:49 +00:00
|
|
|
|
<style type="text/css">
|
|
|
|
|
body .main-container {
|
|
|
|
|
max-width: 1480px !important;
|
|
|
|
|
width: 1480px !important;
|
|
|
|
|
}
|
|
|
|
|
body {
|
|
|
|
|
max-width: 1480px !important;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<div id="load-packages" class="section level2">
|
|
|
|
|
<h2>Load packages</h2>
|
|
|
|
|
<pre class="r"><code># install.packages("readstata13")
|
|
|
|
|
# install.packages("survey")
|
|
|
|
|
# install.packages("corrplot")
|
|
|
|
|
|
|
|
|
|
library(readstata13)
|
|
|
|
|
library(survey)</code></pre>
|
|
|
|
|
<pre><code>## Loading required package: grid</code></pre>
|
|
|
|
|
<pre><code>## Loading required package: Matrix</code></pre>
|
|
|
|
|
<pre><code>## Loading required package: survival</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Attaching package: 'survey'</code></pre>
|
|
|
|
|
<pre><code>## The following object is masked from 'package:graphics':
|
|
|
|
|
##
|
|
|
|
|
## dotchart</code></pre>
|
|
|
|
|
<pre class="r"><code>library(corrplot)</code></pre>
|
|
|
|
|
<pre><code>## corrplot 0.92 loaded</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="download-and-import-data" class="section level2">
|
|
|
|
|
<h2>Download and import data</h2>
|
|
|
|
|
<pre class="r"><code># download.file("https://www.federalreserve.gov/consumerscommunities/files/SHED_public_use_data_2021_(Stata).zip",
|
|
|
|
|
# "data/SHED_public_use_data_2021_(Stata).zip")
|
|
|
|
|
# unzip("data/SHED_public_use_data_2021_(Stata).zip", exdir = "data")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SHED <- readstata13::read.dta13("data/public2021.dta", generate.factors = TRUE, nonint.factors = TRUE)</code></pre>
|
|
|
|
|
<pre><code>## Warning in readstata13::read.dta13("data/public2021.dta", generate.factors = TRUE, :
|
|
|
|
|
## Duplicated factor levels for variables
|
|
|
|
|
##
|
|
|
|
|
## ind1, pph12003, pph12004, pph12005, pph12006
|
|
|
|
|
##
|
|
|
|
|
## Unique labels for these variables have been generated.</code></pre>
|
|
|
|
|
<pre class="r"><code># S16_b
|
|
|
|
|
# In the past year, have you done the following
|
|
|
|
|
# with cryptocurrency, such as Bitcoin or Ethereum?
|
|
|
|
|
# - Used to buy something or make a payment
|
|
|
|
|
SHED$crypto.used.as.payment <- SHED$S16_b == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK1
|
|
|
|
|
# Do you and/or your spouse or partner
|
|
|
|
|
# currently have a checking, savings or money
|
|
|
|
|
# market account?
|
2022-05-26 21:34:37 +00:00
|
|
|
|
SHED$lacks.bank.account <- SHED$BK1 == "No"
|
2022-05-26 17:10:49 +00:00
|
|
|
|
|
|
|
|
|
# C2A
|
|
|
|
|
# Do you currently have at least one credit card?
|
2022-05-26 21:34:37 +00:00
|
|
|
|
SHED$lacks.credit.card <- SHED$C2A == "No"
|
2022-05-26 17:10:49 +00:00
|
|
|
|
|
|
|
|
|
# ppgender
|
|
|
|
|
# Gender [Ipsos source]
|
|
|
|
|
SHED$is.male <- SHED$ppgender == "Male"
|
|
|
|
|
|
|
|
|
|
# race_5cat Race 5 categories
|
|
|
|
|
SHED$race <- SHED$race_5cat
|
|
|
|
|
|
|
|
|
|
# ED0
|
|
|
|
|
# What is the highest level of school you have
|
|
|
|
|
# completed or the highest degree you have
|
|
|
|
|
# received?
|
|
|
|
|
SHED$education.level <- relevel(SHED$ED0, "High school degree or GED")
|
|
|
|
|
|
|
|
|
|
# ED1
|
|
|
|
|
# Which one of the following broad categories
|
|
|
|
|
# best describes your (current/most recent)
|
|
|
|
|
# educational program?
|
|
|
|
|
SHED$education.subject <- relevel(SHED$ED1, "Business/management")
|
|
|
|
|
|
|
|
|
|
# pppa_lgb [Ipsos source]
|
|
|
|
|
# Q230: Which of the following best describes how you think of yourself?
|
|
|
|
|
SHED$lgbtq <- relevel(SHED$pppa_lgb, "Straight, that is, not gay")
|
|
|
|
|
|
|
|
|
|
# ppp20197 [Ipsos source]
|
|
|
|
|
# QEG22: Are you a citizen of the United States?
|
|
|
|
|
SHED$is.noncitizen <- SHED$ppp20197 == "No"
|
|
|
|
|
|
|
|
|
|
# I40
|
|
|
|
|
# Which of the following categories best
|
|
|
|
|
# describes the total income that you and/or
|
|
|
|
|
# your spouse or partner received from all
|
|
|
|
|
# sources, before taxes and deductions, in the
|
|
|
|
|
# past 12 months?
|
|
|
|
|
SHED$income.category <- SHED$I40
|
|
|
|
|
|
|
|
|
|
# B2
|
|
|
|
|
# Overall, which one of the following best
|
|
|
|
|
# describes how well you are managing
|
|
|
|
|
# financially these days?
|
|
|
|
|
SHED$overall.financial.wellbeing <- SHED$B2
|
|
|
|
|
|
|
|
|
|
# I41_b
|
|
|
|
|
# Supplemental Nutrition Assistance Program
|
|
|
|
|
# (SNAP or food stamps) - In the past 12
|
|
|
|
|
# months, have you received any of the
|
|
|
|
|
# following?
|
|
|
|
|
SHED$received.food.stamps <- SHED$I41_b
|
|
|
|
|
|
|
|
|
|
# FL0
|
|
|
|
|
# On a scale from zero to ten, where zero is
|
|
|
|
|
# not at all willing to take risks and ten is
|
|
|
|
|
# very willing to take risks, what number would
|
|
|
|
|
# you be on the scale?
|
|
|
|
|
|
|
|
|
|
SHED$risk.tolerance <- as.numeric(SHED$FL0) - 1
|
|
|
|
|
|
|
|
|
|
# B10
|
|
|
|
|
# Overall, on a scale from zero to ten, where
|
|
|
|
|
# zero is not at all satisfied and ten is
|
|
|
|
|
# completely satisfied, how satisfied are you
|
|
|
|
|
# with life as a whole these days?
|
|
|
|
|
SHED$life.satisfaction <- as.numeric(SHED$B10) - 1
|
|
|
|
|
|
|
|
|
|
# ppage
|
|
|
|
|
# Age [Ipsos source]
|
|
|
|
|
# ppcmdate
|
|
|
|
|
# Date member completed Core survey
|
|
|
|
|
# Must correct age variable for time of initial Ipsos survey
|
|
|
|
|
SHED$age <- SHED$ppage + (2021 - as.numeric(substr(SHED$ppcmdate, 1, 4)))
|
|
|
|
|
|
|
|
|
|
# ind1
|
|
|
|
|
# IND1: Industry (tight scale) in current or main job
|
|
|
|
|
SHED$job.industry <- relevel(SHED$ind1, "Retail/Stores/Shopping (including Online Retail)")
|
|
|
|
|
|
|
|
|
|
# ppcm0160 [Ipsos source]
|
|
|
|
|
# Q26: Occupation (detailed) in current or main job
|
|
|
|
|
SHED$job.occupation <- relevel(SHED$ppcm0160, "Retail Sales")
|
|
|
|
|
|
|
|
|
|
# ppcm1301 [Ipsos source]
|
|
|
|
|
# GOVEMP1: Employer type
|
|
|
|
|
SHED$employer.type <- relevel(SHED$ppcm1301, "Private-for-profit company")
|
|
|
|
|
|
|
|
|
|
# ppmsacat
|
|
|
|
|
# MSA Status [Ipsos source]
|
|
|
|
|
SHED$resides.in.metro.statistical.area <- SHED$ppmsacat == "Metro"
|
|
|
|
|
|
|
|
|
|
# ppfs0596 [Ipsos source]
|
|
|
|
|
# Q22: What is the approximate total amount of
|
|
|
|
|
# your household's savings and investments?
|
|
|
|
|
SHED$total.household.savings <- relevel(SHED$ppfs0596, "$100,000 - $249,999")
|
|
|
|
|
|
|
|
|
|
# A1_a
|
|
|
|
|
# In the past 12 months, has each of the following happened to you:
|
|
|
|
|
# - Turned down for credit
|
|
|
|
|
SHED$rejected.for.credit <- SHED$A1_a == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK2_a
|
|
|
|
|
# In the past 12 months, did you and/or spouse or partner:
|
|
|
|
|
# - Purchase a money order from a place other than a bank
|
|
|
|
|
SHED$purchase.non.bank.money.order <- SHED$BK2_a == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK2_b
|
|
|
|
|
# In the past 12 months, did you and/or spouse or partner:
|
|
|
|
|
# - Cash a check at a place other than a bank
|
|
|
|
|
SHED$cash.check.non.bank <- SHED$BK2_b == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK2_c
|
|
|
|
|
# In the past 12 months, did you and/or spouse or partner:
|
|
|
|
|
# - Take out a payday loan or payday advance
|
|
|
|
|
SHED$take.payday.loan <- SHED$BK2_c == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK2_d
|
|
|
|
|
# In the past 12 months, did you and/or spouse or partner:
|
|
|
|
|
# - Take out a pawn shop loan or an auto title loan
|
|
|
|
|
SHED$take.auto.or.pawn.shop.loan <- SHED$BK2_d == "Yes"
|
|
|
|
|
|
|
|
|
|
# BK2_e
|
|
|
|
|
# In the past 12 months, did you and/or spouse or partner:
|
|
|
|
|
# - Obtain a tax refund advance to receive your refund faster
|
|
|
|
|
SHED$take.tax.refund.advance <- SHED$BK2_e == "Yes"
|
|
|
|
|
|
|
|
|
|
# BNPL1
|
|
|
|
|
# In the past year, have you used a “Buy Now
|
|
|
|
|
# Pay Later” service to buy something?
|
|
|
|
|
SHED$used.buy.now.pay.later <- SHED$BNPL1 == "Yes"
|
|
|
|
|
|
|
|
|
|
# ppfs1482 [Ipsos source]
|
|
|
|
|
# Q108: Where do you think your credit score falls
|
|
|
|
|
SHED$perceived.credit.score <- relevel(SHED$ppfs1482, "Fair")
|
|
|
|
|
|
|
|
|
|
# GE2A
|
|
|
|
|
# Some people earn money by selling items at
|
|
|
|
|
# places like flea markets and garage sales or
|
|
|
|
|
# through online marketplaces like eBay or
|
|
|
|
|
# Etsy. In the past month, have you made money
|
|
|
|
|
# by selling items in any of these ways?
|
|
|
|
|
|
|
|
|
|
SHED$informal.selling.of.goods <- SHED$GE2A == "Yes"
|
|
|
|
|
|
|
|
|
|
# GE1A
|
|
|
|
|
# In the past month, have you done any
|
|
|
|
|
# freelance or gig-work, either to supplement
|
|
|
|
|
# your income or as your main job?
|
|
|
|
|
|
|
|
|
|
SHED$freelance.or.gig.work <- SHED$GE1A == "Yes"
|
|
|
|
|
|
|
|
|
|
# E7
|
|
|
|
|
# During the past 12 months, have you
|
|
|
|
|
# personally experienced discrimination or
|
|
|
|
|
# unfair treatment because of your race,
|
|
|
|
|
# ethnicity, age, religion, disability status,
|
|
|
|
|
# sexual orientation, gender, or gender
|
|
|
|
|
# identity?
|
|
|
|
|
SHED$experienced.discrimination <- SHED$E7 == "Yes"
|
|
|
|
|
|
|
|
|
|
# E8_b
|
|
|
|
|
# In the past 12 months, did you personally experience
|
|
|
|
|
# discrimination or unfair treatment while
|
|
|
|
|
# doing any of the following?
|
|
|
|
|
# - Banking or applying for a loan
|
|
|
|
|
SHED$experienced.discrimination.in.banking <- SHED$E8_b %in% "Yes"
|
|
|
|
|
|
|
|
|
|
# xlaptop
|
|
|
|
|
# Is R a KP laptop user?
|
|
|
|
|
SHED$is.kp.laptop.user <- SHED$xlaptop %in% "Yes"
|
|
|
|
|
|
|
|
|
|
# devicetype2
|
|
|
|
|
# DOV: Device Type - at the end of survey
|
|
|
|
|
SHED$respondent.device.type <- relevel(SHED$devicetype2, "WinPC")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SHED <- svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
|
|
|
|
|
# weight_pop used as survey weights, in accordance with suggestion by:
|
|
|
|
|
# https://www.federalreserve.gov/consumerscommunities/files/SHED_2021codebook.pdf</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="checking-correlations-between-main-variables" class="section level2">
|
|
|
|
|
<h2>Checking correlations between main variables</h2>
|
|
|
|
|
<pre class="r"><code>svyvar.covariance <- svyvar(~ age + is.male + crypto.used.as.payment +
|
2022-05-26 21:34:37 +00:00
|
|
|
|
lacks.bank.account + lacks.credit.card, SHED, na.rm = TRUE)
|
2022-05-26 17:10:49 +00:00
|
|
|
|
attr(svyvar.covariance, "var") <- NULL
|
|
|
|
|
svyvar.correlation <- cov2cor(as.matrix(svyvar.covariance))
|
|
|
|
|
|
|
|
|
|
print(round(svyvar.correlation, 3))</code></pre>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<pre><code>## age is.male crypto.used.as.payment lacks.bank.account lacks.credit.card
|
|
|
|
|
## age 1.000 -0.024 -0.070 -0.106 -0.201
|
|
|
|
|
## is.male -0.024 1.000 0.033 0.011 0.030
|
|
|
|
|
## crypto.used.as.payment -0.070 0.033 1.000 0.035 0.035
|
|
|
|
|
## lacks.bank.account -0.106 0.011 0.035 1.000 0.364
|
|
|
|
|
## lacks.credit.card -0.201 0.030 0.035 0.364 1.000
|
2022-05-26 17:10:49 +00:00
|
|
|
|
## attr(,"statistic")
|
|
|
|
|
## [1] "variance"</code></pre>
|
|
|
|
|
<pre class="r"><code>corrplot(svyvar.correlation, tl.col = "darkred", tl.srt = 35,
|
|
|
|
|
method = "shade", number.digits = 2, addshade = "all", diag = FALSE,
|
2022-05-26 21:34:37 +00:00
|
|
|
|
title = "\n\n Correlation Matrix of Financial Marginalization\nand Use of Cryptocurrency as a Means of Payment",
|
2022-05-26 17:10:49 +00:00
|
|
|
|
addCoef.col = "black", type = "lower")</code></pre>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAIAAAB7BESOAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nOzdd0AU197w8aELIoKIgiVWRCKKDR/sJXaNnUQiUTQWzDVRE8s1V6Neb2zRxJJcWy6+9pKosUXFbgRjFEvsNcSGxoINASnz/rHP3Wcys7vssm0Wvp+/dmfOzJ6Zc+bM/HZmznESRVEAAAAAAADq5mzvDAAAAAAAgPwRwAMAAAAA4AAI4AEAAAAAcAAE8AAAAAAAOAACeAAAAAAAHAABPAAAAAAADoAAHgAAAAAAB0AADwAAAACAAyCABwx58ODB8uXLo6Ki6tWrFxQU5OHhUa5cuQYNGvTu3Ts+Pv7Ro0f2zqA9zZ8/30nCz8+vKGfDImbNmuWkx9GjR/UtlZWV5eHhoXOpiIgIW+a/AApT8QmCcOHChejo6Nq1axcvXtzd3d3Hx6dNmzYmLa6vAuRr6tSpmpUUsl1qPdbeUeavvwg2CIY5RN3ON5MOsRX6OHTmgULD1d4ZAFTq7t27kyZNWrFiRV5ennR6ampqamrqqVOnNm/e7OLi8s4778yZM6dcuXL2ymfhNmfOnLt372q/tmzZskePHnbMjx0lJSU1a9ZM56zTp0+/fv3aNtmgRAxYu3btgAEDcnJytFOys7MfPnxoxyyhsFJJg4DChOYdcBQE8IAOq1evHjZs2KtXrwwny83NXbdu3Y4dO+bPnz9w4EDb5K1IWbNmzZkzZ6RTiuz1RGJior5Zx44ds1k2KBF90tLSRo4cKY3eAetRSYOAwoTmHXAUPEIPyM2aNat///75Ru9aL168+OCDD5YuXWrVXKGIS0pK0jfrl19+sWVOoNPhw4eL+Ds1sCUaBAAosrgDD/zFxo0b//73v+ub6+3tnZ6eLoqibLooinFxcWXLlu3evbuVMwi5gICAunXrar+WKFHCjpmxnkePHl27di04OFg5y6Gv1wtN8V27dk02ZdWqVZ06dcrOzjZntf7+/hUrVjQmZWBgoOZDodml1ubQO6qwNgiGOXSRaTn0Vjh05oFCgwAe+D+3bt0aNmyYcnpUVNTgwYObNWvm5eWVlZWVkpKyYcOGr7/++unTp9o0oiiOHDmyQ4cOxYoVs2GWIbz33nvvvfeevXNhC4mJicrr9Xv37t26dcsu+bGIQlN8f/75p/Rr5cqVY2JizF9tVFTUokWLTFqk0OxSa3P0HVUoGwTDHL3INBx6Kxw680ChwSP0wP+ZMmWKNCYXBMHT03PHjh0bN25s3769l5eXIAgeHh4hISGff/75xYsXZXfG/vjjj6+//tqmOUZh5+/vr/2s86FZ6d22EiVKuLm52SJbyI+3t7e9s4BCiAYBAEAAD/yv+/fvr1mzRjZx3bp1Xbp00Zk+KCho69atTk5O0ok7d+7Ut/68vLydO3f+7W9/q1u3blBQkLu7e0BAQK1atWJjY9euXZuRkaFvweHDh0tHbWncuLFmelpa2vjx48PDwz09PU+fPl2AxFK//PLLmDFj6tevHxgY6OnpGRIS0qVLl0mTJt27d09fxoyXnp4+b9689957r1mzZhUrVnR3d/f19a1WrVq3bt3mzJlz584dWXrt4EmyDnXmzZunmT527FjtRJNGtbF4KZw4cSIuLq5mzZolS5YMCAho0aLFsGHDTp48afI+0qNJkybaz/ler0dGRrq4uBizWquWiEmV0EDxpaenV61a1emvvvjiC1neNm3aJEvj4+Nz+/ZtY/aDTAGqx/79+0ePHj169OgDBw5Ip6empo7+L9lIFtaW7xFh2cpsal2yRh4EQXj06NGiRYu6desWHBxcsmRJT0/PChUqdOjQ4csvv3z58mXBdpSZ22gNKmkQNAp8uklPT//qq6+aNGni5+dXqlSpZs2aaQd8ef/996XrnDVrlnRBh6jb+TKwFZMmTXIyhc7ecznhAoWfCEAURVGcMWOG7OiIiorKd6m33npLukjx4sVzc3OVyXbt2lWrVi0DR2JgYOCiRYt0/kRcXJw0ZWRkpCiKp06dkt6KOXnyZAESa6SkpHTr1k1fxtzd3QcNGvTkyRNlxubNmydN6evrq0zz+vXr6dOnS39dyc3Nbdy4cTk5OdqlZs6caSC9IAhjxowxKRvWKIXc3NwJEyY4/fUfHA0XF5dPPvnk1atX+nKij3LDpVOcnJyUBSEdSmry5MmyNzgaNmxo+xIxqRIaLr69e/fKfqhkyZKPHj3SJsjJyQkNDZWl+fbbb03d82JBq0e+e0YQBOmeNOz8+fOyZePi4kzdkHyPCEtV5oLVJcvmQRTF3NzcL774wsfHR18eAgMD4+Pj8/LyTN1RZm6j8U2TPqptEDQKcLoRRXHv3r06B17t0KHD06dPZS+ezJw506Rdqoa6nW8mDSSYOHGigV9Uio2NNT/bRfaECzgu7sAD/+vQoUOyKZ988km+S02YMGGwRHR0dFpamizNjBkzOnfufOHCBQPruX///vDhw2NiYrKysvL90Rs3brRr1+7x48f5psw38W+//da4ceNt27bpW/z169fx8fHNmzcv2K34UaNGffbZZ4azmp2dPXv27Pfff78A6zeexUvhs88+mzFjhqjo0VAQhNzc3K+++mrKlCkFzq1W7dq1tZGJKIqy7qmys7OTk5O1X6V35/SxS4mYVGOl2rZtK7vF9OzZM+nl5sqVKy9duiRN0KxZs+HDh5v6QxavHo6lYJXZsnWpYHnIzMzs3bv3P/7xj+fPn+tb8/379wcNGtSvX79886CknhZMQ+UNQr5H+g8//NCpUyedZ5M9e/b07NnT4iPYq6Fu24x6su2gJ1zAYdjxzwNAPXJycmSdqZYtW9Yiaza1A6qhQ4fK1qD8K1p5w9zAHXgDiR8/fqzzTohOlStXlt3tyfef+JUrVxq5co2dO3dqFkxISBgxYsSIESNKly4tTRAeHq6ZvmXLFuOzYY1SKF68eL4rcXNzu3jxokm1RXknZPfu3e3bt9d+nThxojT9iRMntLOcnZ2fPn1q+IabbUrEpEqYb/E9efJE27+6RrFixW7fvi2KYmZm5htvvCGbdfnyZZP2uWhe9SgEd+ALVpkLXJcsmAdRFIcOHWp8HpYsWWLSjjJzG61xB14lDYLOQjR8pIui+Ntvv2m6kjHA1fUvnSubeQfeLnXbXnfgOeGaesIFHBe90AOCIAi3b99+8eKFdEq1atXMX+3Vq1dHjRolm1ilSpWOHTvWrVv36tWrBw4ckL0iuHTp0s6dOxsYju78+fP6Xuk0NfHIkSOld0KcnJyGDx/eo0ePcuXKXb16dfHixQkJCdq5KSkp//znP03qpW/q1KnSr15eXtHR0XXr1i1ZsuSTJ0/27t0r6zJg1apVnTt3FgShXbt27dq1EwTh6NGj0rG1W7duXYBuAq1RCunp6ZoP1apVq1OnjpeX19mzZ2XRV3Z29pIlS2SXOwXQtGlTbUEkJiZKZ0nvv9WqVatkyZKGV2WXEjGpxir5+fl98803ffr00U7JzMycOnXqsmXLFi9eLOtwe/LkySEhISat38zqMX78+PHjxwuCMHbs2Dlz5mjThIWFnTt3zqSc6LRp06Z83/CsVKnSDz/8UOCfKFhlLnBdsmAe9u7du3TpUmkaNze37t27N2rUyMfH5/Tp08uXL5fe0R05cmTr1q11Dr2mk2W30VLU0CDoZPhIF0Xx/ffff/XqlXRimTJl2rVr5+rqum/fvrt37wqCkJOTYzjPJlFD3TbJO++8ExYWpnPWlStXJk+eLJtYu3Zt87PNCRdwPPb+BwFQBeUlcr9+/cxfbWxsrGy1vXv3fvnypTaB5rUuWZoGDRpIVyL7K1rD2dm5d+/e06ZNW7Fixb///e979+6ZmjglJUXWv9F3330ny/+IESOkCdzc3K5evaqda/ifeGVPOQcOHJCtX/Z0dJ06dWQJpOPNCoIwatQo5U7O94aAlUrBx8dn7dq10jTffPONLE2nTp2UGTZA5w23ffv2ab8WL148Oztbm176VPCwYcNEUTRww81mJWJSjTXyLmWvXr2kyVxc
|
2022-05-26 17:10:49 +00:00
|
|
|
|
</div>
|
|
|
|
|
<div id="main-results" class="section level1">
|
|
|
|
|
<h1>Main results</h1>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<div id="lacks.bank.account" class="section level2">
|
|
|
|
|
<h2>lacks.bank.account</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + lacks.bank.account,
|
2022-05-26 17:10:49 +00:00
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
2022-05-26 21:34:37 +00:00
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + lacks.bank.account,
|
2022-05-26 17:10:49 +00:00
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
2022-05-26 21:34:37 +00:00
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.913447 0.226073 -12.887 < 2e-16 ***
|
|
|
|
|
## age -0.031695 0.004137 -7.662 1.97e-14 ***
|
|
|
|
|
## is.maleTRUE 0.466379 0.168780 2.763 0.00573 **
|
|
|
|
|
## lacks.bank.accountTRUE 0.581630 0.285850 2.035 0.04190 *
|
2022-05-26 17:10:49 +00:00
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.958345)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.594 1.145 2.219 Indicator variable
|
|
|
|
|
## 3 lacks.bank.accountTRUE 1.789 1.022 3.133 Indicator variable</code></pre>
|
2022-05-26 17:10:49 +00:00
|
|
|
|
</div>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<div id="lacks.credit.card" class="section level2">
|
|
|
|
|
<h2>lacks.credit.card</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + lacks.credit.card,
|
2022-05-26 17:10:49 +00:00
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
2022-05-26 21:34:37 +00:00
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + lacks.credit.card,
|
2022-05-26 17:10:49 +00:00
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
2022-05-26 21:34:37 +00:00
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.952972 0.234628 -12.586 < 2e-16 ***
|
|
|
|
|
## age -0.031084 0.004205 -7.392 1.54e-13 ***
|
|
|
|
|
## is.maleTRUE 0.466022 0.168684 2.763 0.00574 **
|
|
|
|
|
## lacks.credit.cardTRUE 0.304096 0.214471 1.418 0.15625
|
2022-05-26 17:10:49 +00:00
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9559624)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
2022-05-26 21:34:37 +00:00
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.594 1.145 2.218 Indicator variable
|
|
|
|
|
## 3 lacks.credit.cardTRUE 1.355 0.890 2.064 Indicator variable</code></pre>
|
2022-05-26 17:10:49 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="additional-results-on-financial-marginalization" class="section level1">
|
|
|
|
|
<h1>Additional results on financial marginalization</h1>
|
|
|
|
|
<div id="rejected.for.credit" class="section level2">
|
|
|
|
|
<h2>rejected.for.credit</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + rejected.for.credit,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + rejected.for.credit,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.186410 0.331091 -9.624 < 2e-16 ***
|
|
|
|
|
## age -0.028757 0.006194 -4.643 3.54e-06 ***
|
|
|
|
|
## is.maleTRUE 0.674391 0.236384 2.853 0.00435 **
|
|
|
|
|
## rejected.for.creditTRUE 1.149878 0.234934 4.894 1.02e-06 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9739901)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.972 0.960 0.984 1
|
|
|
|
|
## 2 is.maleTRUE 1.963 1.235 3.120 Indicator variable
|
|
|
|
|
## 3 rejected.for.creditTRUE 3.158 1.992 5.005 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="purchase.non.bank.money.order" class="section level2">
|
|
|
|
|
<h2>purchase.non.bank.money.order</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + purchase.non.bank.money.order,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + purchase.non.bank.money.order,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.021632 0.222077 -13.606 < 2e-16 ***
|
|
|
|
|
## age -0.032421 0.004118 -7.874 3.75e-15 ***
|
|
|
|
|
## is.maleTRUE 0.481844 0.168482 2.860 0.00425 **
|
|
|
|
|
## purchase.non.bank.money.orderTRUE 1.092477 0.208685 5.235 1.68e-07 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9680346)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.619 1.164 2.253 Indicator variable
|
|
|
|
|
## 3 purchase.non.bank.money.orderTRUE 2.982 1.981 4.489 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="cash.check.non.bank" class="section level2">
|
|
|
|
|
<h2>cash.check.non.bank</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + cash.check.non.bank,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + cash.check.non.bank,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.011138 0.224701 -13.401 < 2e-16 ***
|
|
|
|
|
## age -0.031117 0.004085 -7.616 2.81e-14 ***
|
|
|
|
|
## is.maleTRUE 0.462410 0.168842 2.739 0.00618 **
|
|
|
|
|
## cash.check.non.bankTRUE 1.098875 0.236800 4.641 3.51e-06 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9459723)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.962 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.588 1.140 2.211 Indicator variable
|
|
|
|
|
## 3 cash.check.non.bankTRUE 3.001 1.886 4.773 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="take.payday.loan" class="section level2">
|
|
|
|
|
<h2>take.payday.loan</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + take.payday.loan,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + take.payday.loan,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.056315 0.236834 -12.905 < 2e-16 ***
|
|
|
|
|
## age -0.030550 0.004233 -7.218 5.61e-13 ***
|
|
|
|
|
## is.maleTRUE 0.477396 0.169847 2.811 0.00495 **
|
|
|
|
|
## take.payday.loanTRUE 1.971401 0.285394 6.908 5.18e-12 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9662311)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.962 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.612 1.155 2.249 Indicator variable
|
|
|
|
|
## 3 take.payday.loanTRUE 7.181 4.104 12.564 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="take.auto.or.pawn.shop.loan" class="section level2">
|
|
|
|
|
<h2>take.auto.or.pawn.shop.loan</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + take.auto.or.pawn.shop.loan,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + take.auto.or.pawn.shop.loan,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.952696 0.224047 -13.179 < 2e-16 ***
|
|
|
|
|
## age -0.032423 0.004156 -7.802 6.63e-15 ***
|
|
|
|
|
## is.maleTRUE 0.513780 0.169932 3.023 0.0025 **
|
|
|
|
|
## take.auto.or.pawn.shop.loanTRUE 1.794029 0.314689 5.701 1.22e-08 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9682661)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.672 1.198 2.332 Indicator variable
|
|
|
|
|
## 3 take.auto.or.pawn.shop.loanTRUE 6.014 3.245 11.144 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="take.tax.refund.advance" class="section level2">
|
|
|
|
|
<h2>take.tax.refund.advance</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + take.tax.refund.advance,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + take.tax.refund.advance,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.965486 0.221710 -13.376 < 2e-16 ***
|
|
|
|
|
## age -0.031918 0.004147 -7.697 1.51e-14 ***
|
|
|
|
|
## is.maleTRUE 0.506136 0.169424 2.987 0.00282 **
|
|
|
|
|
## take.tax.refund.advanceTRUE 2.164352 0.325035 6.659 2.88e-11 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9810652)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.659 1.190 2.312 Indicator variable
|
|
|
|
|
## 3 take.tax.refund.advanceTRUE 8.709 4.605 16.469 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="used.buy.now.pay.later" class="section level2">
|
|
|
|
|
<h2>used.buy.now.pay.later</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + used.buy.now.pay.later,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + used.buy.now.pay.later,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.229942 0.237390 -13.606 < 2e-16 ***
|
|
|
|
|
## age -0.030738 0.004186 -7.343 2.23e-13 ***
|
|
|
|
|
## is.maleTRUE 0.567811 0.173233 3.278 0.00105 **
|
|
|
|
|
## used.buy.now.pay.laterTRUE 1.371553 0.191151 7.175 7.65e-13 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9898529)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.962 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.764 1.256 2.478 Indicator variable
|
|
|
|
|
## 3 used.buy.now.pay.laterTRUE 3.941 2.710 5.733 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="experienced.discrimination.in.banking" class="section level2">
|
|
|
|
|
<h2>experienced.discrimination.in.banking</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + experienced.discrimination.in.banking,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + experienced.discrimination.in.banking,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.885342 0.218007 -13.235 < 2e-16 ***
|
|
|
|
|
## age -0.032679 0.004104 -7.963 1.84e-15 ***
|
|
|
|
|
## is.maleTRUE 0.466326 0.168406 2.769 0.00563 **
|
|
|
|
|
## experienced.discrimination.in.bankingTRUE 1.972172 0.372336 5.297 1.20e-07 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.974156)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.594 1.146 2.218 Indicator variable
|
|
|
|
|
## 3 experienced.discrimination.in.bankingTRUE 7.186 3.464 14.910 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="perceived.credit.score" class="section level2">
|
|
|
|
|
<h2>perceived.credit.score</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + perceived.credit.score,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + perceived.credit.score,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.410328 0.296635 -8.126 4.98e-16 ***
|
|
|
|
|
## age -0.031818 0.005248 -6.062 1.39e-09 ***
|
|
|
|
|
## is.maleTRUE 0.507430 0.189572 2.677 0.00745 **
|
|
|
|
|
## perceived.credit.scoreVery poor 0.335551 0.411302 0.816 0.41462
|
|
|
|
|
## perceived.credit.scorePoor -0.081567 0.405853 -0.201 0.84072
|
|
|
|
|
## perceived.credit.scoreGood -0.652273 0.284365 -2.294 0.02182 *
|
|
|
|
|
## perceived.credit.scoreExcellent -0.694903 0.251690 -2.761 0.00577 **
|
|
|
|
|
## perceived.credit.scoreDon’t know -0.875283 0.451036 -1.941 0.05233 .
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9339766)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.959 0.979 1
|
|
|
|
|
## 2 is.maleTRUE 1.661 1.145 2.409 Indicator variable
|
|
|
|
|
## 3 perceived.credit.scoreVery poor 1.399 0.625 3.132 Indicator variable
|
|
|
|
|
## 4 perceived.credit.scorePoor 0.922 0.416 2.042 Indicator variable
|
|
|
|
|
## 5 perceived.credit.scoreGood 0.521 0.298 0.910 Indicator variable
|
|
|
|
|
## 6 perceived.credit.scoreExcellent 0.499 0.305 0.817 Indicator variable
|
|
|
|
|
## 7 perceived.credit.scoreDon’t know 0.417 0.172 1.009 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="general-societal-marginalization" class="section level1">
|
|
|
|
|
<h1>General societal marginalization</h1>
|
|
|
|
|
<div id="experienced.discrimination" class="section level2">
|
|
|
|
|
<h2>experienced.discrimination</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + experienced.discrimination,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + experienced.discrimination,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.004836 0.228625 -13.143 < 2e-16 ***
|
|
|
|
|
## age -0.031571 0.004086 -7.727 1.19e-14 ***
|
|
|
|
|
## is.maleTRUE 0.501519 0.169039 2.967 0.003014 **
|
|
|
|
|
## experienced.discriminationTRUE 0.797020 0.214670 3.713 0.000206 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9644662)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.651 1.186 2.300 Indicator variable
|
|
|
|
|
## 3 experienced.discriminationTRUE 2.219 1.457 3.380 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="race" class="section level2">
|
|
|
|
|
<h2>race</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + race,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + race,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.148536 0.241717 -13.026 < 2e-16 ***
|
|
|
|
|
## age -0.031111 0.004158 -7.482 7.86e-14 ***
|
|
|
|
|
## is.maleTRUE 0.481631 0.167887 2.869 0.004128 **
|
|
|
|
|
## raceBlack 0.808073 0.216699 3.729 0.000193 ***
|
|
|
|
|
## raceHispanic 0.542806 0.221510 2.450 0.014281 *
|
|
|
|
|
## raceAsian 0.121512 0.397317 0.306 0.759738
|
|
|
|
|
## raceOther -0.030294 0.462447 -0.066 0.947770
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9471295)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.619 1.165 2.250 Indicator variable
|
|
|
|
|
## 3 raceBlack 2.244 1.467 3.431 Indicator variable
|
|
|
|
|
## 4 raceHispanic 1.721 1.115 2.656 Indicator variable
|
|
|
|
|
## 5 raceAsian 1.129 0.518 2.460 Indicator variable
|
|
|
|
|
## 6 raceOther 0.970 0.392 2.402 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="is.noncitizen" class="section level2">
|
|
|
|
|
<h2>is.noncitizen</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + is.noncitizen,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + is.noncitizen,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.926938 0.239581 -12.217 < 2e-16 ***
|
|
|
|
|
## age -0.031523 0.004323 -7.292 3.27e-13 ***
|
|
|
|
|
## is.maleTRUE 0.436785 0.177799 2.457 0.01404 *
|
|
|
|
|
## is.noncitizenTRUE 0.974701 0.375482 2.596 0.00945 **
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9647507)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.548 1.092 2.193 Indicator variable
|
|
|
|
|
## 3 is.noncitizenTRUE 2.650 1.270 5.533 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="lgbtq" class="section level2">
|
|
|
|
|
<h2>lgbtq</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + lgbtq,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + lgbtq,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.978567 0.242480 -12.284 < 2e-16 ***
|
|
|
|
|
## age -0.030611 0.004158 -7.361 1.95e-13 ***
|
|
|
|
|
## is.maleTRUE 0.480164 0.183277 2.620 0.00881 **
|
|
|
|
|
## lgbtqGay or lesbian 0.076089 0.463581 0.164 0.86963
|
|
|
|
|
## lgbtqBisexual 0.346759 0.366939 0.945 0.34468
|
|
|
|
|
## lgbtqSomething else 0.613277 0.535404 1.145 0.25205
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9563273)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.962 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.616 1.129 2.315 Indicator variable
|
|
|
|
|
## 3 lgbtqGay or lesbian 1.079 0.435 2.677 Indicator variable
|
|
|
|
|
## 4 lgbtqBisexual 1.414 0.689 2.904 Indicator variable
|
|
|
|
|
## 5 lgbtqSomething else 1.846 0.646 5.274 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="data-quality-sanity-checks" class="section level1">
|
|
|
|
|
<h1>Data quality sanity checks</h1>
|
|
|
|
|
<div id="education.subject" class="section level2">
|
|
|
|
|
<h2>education.subject</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + education.subject,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + education.subject,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.999353 0.349680 -8.577 < 2e-16 ***
|
|
|
|
|
## age -0.031044 0.004627 -6.710 2.06e-11 ***
|
|
|
|
|
## is.maleTRUE 0.647123 0.211765 3.056 0.00225 **
|
|
|
|
|
## education.subjectHumanities/arts -0.023039 0.369258 -0.062 0.95025
|
|
|
|
|
## education.subjectSocial/behavioral sciences -0.088099 0.396489 -0.222 0.82416
|
|
|
|
|
## education.subjectLife sciences 0.454106 0.582217 0.780 0.43543
|
|
|
|
|
## education.subjectPhysical sciences/math 0.667644 0.451933 1.477 0.13963
|
|
|
|
|
## education.subjectComputer/information sciences 0.566129 0.305065 1.856 0.06352 .
|
|
|
|
|
## education.subjectEngineering -0.061159 0.365813 -0.167 0.86723
|
|
|
|
|
## education.subjectEducation -1.007184 0.641422 -1.570 0.11640
|
|
|
|
|
## education.subjectHealth -0.318826 0.380608 -0.838 0.40223
|
|
|
|
|
## education.subjectLaw -0.346608 0.519753 -0.667 0.50487
|
|
|
|
|
## education.subjectVocational/technical training -0.668446 0.544420 -1.228 0.21955
|
|
|
|
|
## education.subjectUndeclared -0.260800 0.517377 -0.504 0.61422
|
|
|
|
|
## education.subjectOther -0.241427 0.406223 -0.594 0.55231
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.8916928)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 8</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.910 1.261 2.893 Indicator variable
|
|
|
|
|
## 3 education.subjectHumanities/arts 0.977 0.474 2.015 Indicator variable
|
|
|
|
|
## 4 education.subjectSocial/behavioral sciences 0.916 0.421 1.992 Indicator variable
|
|
|
|
|
## 5 education.subjectLife sciences 1.575 0.503 4.930 Indicator variable
|
|
|
|
|
## 6 education.subjectPhysical sciences/math 1.950 0.804 4.728 Indicator variable
|
|
|
|
|
## 7 education.subjectComputer/information sciences 1.761 0.969 3.203 Indicator variable
|
|
|
|
|
## 8 education.subjectEngineering 0.941 0.459 1.927 Indicator variable
|
|
|
|
|
## 9 education.subjectEducation 0.365 0.104 1.284 Indicator variable
|
|
|
|
|
## 10 education.subjectHealth 0.727 0.345 1.533 Indicator variable
|
|
|
|
|
## 11 education.subjectLaw 0.707 0.255 1.959 Indicator variable
|
|
|
|
|
## 12 education.subjectVocational/technical training 0.513 0.176 1.490 Indicator variable
|
|
|
|
|
## 13 education.subjectUndeclared 0.770 0.279 2.124 Indicator variable
|
|
|
|
|
## 14 education.subjectOther 0.786 0.354 1.742 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="job.industry" class="section level2">
|
|
|
|
|
<h2>job.industry</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + job.industry,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + job.industry,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.854060 0.340815 -8.374 < 2e-16 ***
|
|
|
|
|
## age -0.033280 0.004306 -7.728 1.18e-14 ***
|
|
|
|
|
## is.maleTRUE 0.381146 0.186339 2.045 0.0408 *
|
|
|
|
|
## job.industry-1 -11.507214 0.382080 -30.117 < 2e-16 ***
|
|
|
|
|
## job.industry-2 0.066810 0.360007 0.186 0.8528
|
|
|
|
|
## job.industryFarming/Agriculture, Forestry, Fishing and Hunting, and Animal Production 0.753267 0.731523 1.030 0.3032
|
|
|
|
|
## job.industryFinance, Banking, and Insurance -0.052153 0.486781 -0.107 0.9147
|
|
|
|
|
## job.industryReal Estate and Property Management 0.460033 0.697996 0.659 0.5099
|
|
|
|
|
## job.industryProfessional, Scientific, Technical, and Business Services 0.362678 0.380195 0.954 0.3401
|
|
|
|
|
## job.industryManagement of Companies and Enterprises 0.390625 1.063713 0.367 0.7135
|
|
|
|
|
## job.industryEducation and Tutoring -0.730517 0.542590 -1.346 0.1782
|
|
|
|
|
## job.industryHealth Care (including Elder Care, Home Health Care) -0.110082 0.422465 -0.261 0.7944
|
|
|
|
|
## job.industryArts, Entertainment, and Recreation 0.383444 0.575453 0.666 0.5052
|
|
|
|
|
## job.industryAccommodation and Food Services -0.004982 0.629938 -0.008 0.9937
|
|
|
|
|
## job.industryMining, Quarrying, and Oil and Gas Extraction -0.182107 1.071871 -0.170 0.8651
|
|
|
|
|
## job.industryPublic Administration 0.375866 0.606949 0.619 0.5358
|
|
|
|
|
## job.industryArmed Forces 0.252194 0.784939 0.321 0.7480
|
|
|
|
|
## job.industryUtilities, Waste Management, and Remediation Services_(22) -1.339318 1.057590 -1.266 0.2054
|
|
|
|
|
## job.industryAdministrative and Support Services (such as Call Centers, Security, Landscaping, and Janitorial) -0.540011 0.678967 -0.795 0.4264
|
|
|
|
|
## job.industryChild Day Care Services -0.519336 1.063179 -0.488 0.6252
|
|
|
|
|
## job.industryRepairs and Maintenance 0.911384 0.575837 1.583 0.1135
|
|
|
|
|
## job.industryPersonal Services (including Beauty, Pet Care, and Household) 0.048350 0.789374 0.061 0.9512
|
|
|
|
|
## job.industryCommunity/Non-Profit Organizations (including Religious and Political Organizations) 0.203254 0.619093 0.328 0.7427
|
|
|
|
|
## job.industryConstruction and Specialty Contractors (such as Plumbing and Electrical) -0.235479 0.568282 -0.414 0.6786
|
|
|
|
|
## job.industryFactory, Manufacturing, and Woodworking -0.123598 0.502171 -0.246 0.8056
|
|
|
|
|
## job.industryWholesale Trade 1.227697 0.616998 1.990 0.0466 *
|
|
|
|
|
## job.industryDelivery Services, Warehousing, and Transportation (including Air, Rail, Water, Truck, and Passenger) 0.448454 0.493363 0.909 0.3634
|
|
|
|
|
## job.industryInformation (including Publishing, Media, Telecom, Internet Search, and Social Networking) 0.408421 0.485916 0.841 0.4006
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9747189)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 14</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5)
|
|
|
|
|
## 1 age 0.967 0.959 0.975
|
|
|
|
|
## 2 is.maleTRUE 1.464 1.016 2.109
|
|
|
|
|
## 3 job.industry-1 0.000 0.000 0.000
|
|
|
|
|
## 4 job.industry-2 1.069 0.528 2.165
|
|
|
|
|
## 5 job.industryFarming/Agriculture, Forestry, Fishing and Hunting, and Animal Production 2.124 0.506 8.910
|
|
|
|
|
## 6 job.industryFinance, Banking, and Insurance 0.949 0.366 2.465
|
|
|
|
|
## 7 job.industryReal Estate and Property Management 1.584 0.403 6.223
|
|
|
|
|
## 8 job.industryProfessional, Scientific, Technical, and Business Services 1.437 0.682 3.028
|
|
|
|
|
## 9 job.industryManagement of Companies and Enterprises 1.478 0.184 11.890
|
|
|
|
|
## 10 job.industryEducation and Tutoring 0.482 0.166 1.395
|
|
|
|
|
## 11 job.industryHealth Care (including Elder Care, Home Health Care) 0.896 0.391 2.050
|
|
|
|
|
## 12 job.industryArts, Entertainment, and Recreation 1.467 0.475 4.533
|
|
|
|
|
## 13 job.industryAccommodation and Food Services 0.995 0.289 3.421
|
|
|
|
|
## 14 job.industryMining, Quarrying, and Oil and Gas Extraction 0.834 0.102 6.814
|
|
|
|
|
## 15 job.industryPublic Administration 1.456 0.443 4.785
|
|
|
|
|
## 16 job.industryArmed Forces 1.287 0.276 5.994
|
|
|
|
|
## 17 job.industryUtilities, Waste Management, and Remediation Services_(22) 0.262 0.033 2.083
|
|
|
|
|
## 18 job.industryAdministrative and Support Services (such as Call Centers, Security, Landscaping, and Janitorial) 0.583 0.154 2.205
|
|
|
|
|
## 19 job.industryChild Day Care Services 0.595 0.074 4.781
|
|
|
|
|
## 20 job.industryRepairs and Maintenance 2.488 0.805 7.692
|
|
|
|
|
## 21 job.industryPersonal Services (including Beauty, Pet Care, and Household) 1.050 0.223 4.932
|
|
|
|
|
## 22 job.industryCommunity/Non-Profit Organizations (including Religious and Political Organizations) 1.225 0.364 4.124
|
|
|
|
|
## 23 job.industryConstruction and Specialty Contractors (such as Plumbing and Electrical) 0.790 0.259 2.407
|
|
|
|
|
## 24 job.industryFactory, Manufacturing, and Woodworking 0.884 0.330 2.365
|
|
|
|
|
## 25 job.industryWholesale Trade 3.413 1.018 11.440
|
|
|
|
|
## 26 job.industryDelivery Services, Warehousing, and Transportation (including Air, Rail, Water, Truck, and Passenger) 1.566 0.595 4.119
|
|
|
|
|
## 27 job.industryInformation (including Publishing, Media, Telecom, Internet Search, and Social Networking) 1.504 0.580 3.900
|
|
|
|
|
## increment
|
|
|
|
|
## 1 1
|
|
|
|
|
## 2 Indicator variable
|
|
|
|
|
## 3 Indicator variable
|
|
|
|
|
## 4 Indicator variable
|
|
|
|
|
## 5 Indicator variable
|
|
|
|
|
## 6 Indicator variable
|
|
|
|
|
## 7 Indicator variable
|
|
|
|
|
## 8 Indicator variable
|
|
|
|
|
## 9 Indicator variable
|
|
|
|
|
## 10 Indicator variable
|
|
|
|
|
## 11 Indicator variable
|
|
|
|
|
## 12 Indicator variable
|
|
|
|
|
## 13 Indicator variable
|
|
|
|
|
## 14 Indicator variable
|
|
|
|
|
## 15 Indicator variable
|
|
|
|
|
## 16 Indicator variable
|
|
|
|
|
## 17 Indicator variable
|
|
|
|
|
## 18 Indicator variable
|
|
|
|
|
## 19 Indicator variable
|
|
|
|
|
## 20 Indicator variable
|
|
|
|
|
## 21 Indicator variable
|
|
|
|
|
## 22 Indicator variable
|
|
|
|
|
## 23 Indicator variable
|
|
|
|
|
## 24 Indicator variable
|
|
|
|
|
## 25 Indicator variable
|
|
|
|
|
## 26 Indicator variable
|
|
|
|
|
## 27 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="job.occupation" class="section level2">
|
|
|
|
|
<h2>job.occupation</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + job.occupation,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + job.occupation,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.859317 0.290095 -9.856 < 2e-16 ***
|
|
|
|
|
## age -0.031407 0.004312 -7.283 3.48e-13 ***
|
|
|
|
|
## is.maleTRUE 0.360765 0.179090 2.014 0.04399 *
|
|
|
|
|
## job.occupationRefused 0.075921 1.047868 0.072 0.94224
|
|
|
|
|
## job.occupationManagement -0.089604 0.349829 -0.256 0.79785
|
|
|
|
|
## job.occupationComputer and Mathematical 0.805900 0.293052 2.750 0.00597 **
|
|
|
|
|
## job.occupationArchitecture and Engineering 0.441968 0.481025 0.919 0.35822
|
|
|
|
|
## job.occupationLife, Physical, and Social Sciences -13.665891 0.211452 -64.629 < 2e-16 ***
|
|
|
|
|
## job.occupationCommunity and Social Services 0.348845 0.744372 0.469 0.63933
|
|
|
|
|
## job.occupationLawyer, judge 0.476803 0.678924 0.702 0.48251
|
|
|
|
|
## job.occupationTeacher, college and university -12.647983 1.020703 -12.391 < 2e-16 ***
|
|
|
|
|
## job.occupationHealth Technologist or Technician (such as paramedic, lab technician) 0.177896 0.638330 0.279 0.78049
|
|
|
|
|
## job.occupationHealth Care Support (such as nursing aide, orderly, dental assistant) -0.040914 0.797085 -0.051 0.95906
|
|
|
|
|
## job.occupationProtective Service -1.213895 1.029386 -1.179 0.23833
|
|
|
|
|
## job.occupationFood Preparation and Serving -0.349612 0.683524 -0.511 0.60902
|
|
|
|
|
## job.occupationBuilding and Grounds Cleaning and Maintenance 0.987466 0.703185 1.404 0.16026
|
|
|
|
|
## job.occupationPersonal Care and Service -0.258920 0.755418 -0.343 0.73179
|
|
|
|
|
## job.occupationOffice and Administrative Support -0.763668 0.578523 -1.320 0.18685
|
|
|
|
|
## job.occupationFarming, Forestry, and Fishing 1.330953 0.808627 1.646 0.09980 .
|
|
|
|
|
## job.occupationConstruction and Extraction 0.060967 0.666060 0.092 0.92707
|
|
|
|
|
## job.occupationInstallation, Maintenance, and Repair 0.020352 0.523736 0.039 0.96900
|
|
|
|
|
## job.occupationPrecision Production (such as machinist, welder, baker, printer, tailor) -0.213162 0.745985 -0.286 0.77508
|
|
|
|
|
## job.occupationTransportation and Material Moving -0.887770 0.738712 -1.202 0.22947
|
|
|
|
|
## job.occupationArmed Services -13.939322 0.289202 -48.199 < 2e-16 ***
|
|
|
|
|
## job.occupationOther (Please specify) -0.383127 0.349530 -1.096 0.27305
|
|
|
|
|
## job.occupationBusiness Operations (including Marketing) 0.498942 0.397591 1.255 0.20953
|
|
|
|
|
## job.occupationFinancial Operations or Financial Services (including Financial Advisor, Broker) 0.300696 0.467979 0.643 0.52053
|
|
|
|
|
## job.occupationEducation, Training, and Library -0.140354 0.454960 -0.308 0.75771
|
|
|
|
|
## job.occupationArts, Design, Entertainment, Sports, and Media 1.103976 0.438103 2.520 0.01175 *
|
|
|
|
|
## job.occupationHealth Diagnosing or Treating Practitioner (such as physician, nurse, dentist, veterinarian, pharmacist) -0.813343 0.735419 -1.106 0.26877
|
|
|
|
|
## job.occupationSales -0.013234 0.390589 -0.034 0.97297
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9684664)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 16</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5)
|
|
|
|
|
## 1 age 0.969 0.961 0.977
|
|
|
|
|
## 2 is.maleTRUE 1.434 1.010 2.038
|
|
|
|
|
## 3 job.occupationRefused 1.079 0.138 8.414
|
|
|
|
|
## 4 job.occupationManagement 0.914 0.461 1.815
|
|
|
|
|
## 5 job.occupationComputer and Mathematical 2.239 1.260 3.976
|
|
|
|
|
## 6 job.occupationArchitecture and Engineering 1.556 0.606 3.994
|
|
|
|
|
## 7 job.occupationLife, Physical, and Social Sciences 0.000 0.000 0.000
|
|
|
|
|
## 8 job.occupationCommunity and Social Services 1.417 0.329 6.098
|
|
|
|
|
## 9 job.occupationLawyer, judge 1.611 0.426 6.096
|
|
|
|
|
## 10 job.occupationTeacher, college and university 0.000 0.000 0.000
|
|
|
|
|
## 11 job.occupationHealth Technologist or Technician (such as paramedic, lab technician) 1.195 0.342 4.175
|
|
|
|
|
## 12 job.occupationHealth Care Support (such as nursing aide, orderly, dental assistant) 0.960 0.201 4.579
|
|
|
|
|
## 13 job.occupationProtective Service 0.297 0.039 2.234
|
|
|
|
|
## 14 job.occupationFood Preparation and Serving 0.705 0.185 2.692
|
|
|
|
|
## 15 job.occupationBuilding and Grounds Cleaning and Maintenance 2.684 0.676 10.653
|
|
|
|
|
## 16 job.occupationPersonal Care and Service 0.772 0.176 3.393
|
|
|
|
|
## 17 job.occupationOffice and Administrative Support 0.466 0.150 1.448
|
|
|
|
|
## 18 job.occupationFarming, Forestry, and Fishing 3.785 0.776 18.467
|
|
|
|
|
## 19 job.occupationConstruction and Extraction 1.063 0.288 3.922
|
|
|
|
|
## 20 job.occupationInstallation, Maintenance, and Repair 1.021 0.366 2.849
|
|
|
|
|
## 21 job.occupationPrecision Production (such as machinist, welder, baker, printer, tailor) 0.808 0.187 3.487
|
|
|
|
|
## 22 job.occupationTransportation and Material Moving 0.412 0.097 1.751
|
|
|
|
|
## 23 job.occupationArmed Services 0.000 0.000 0.000
|
|
|
|
|
## 24 job.occupationOther (Please specify) 0.682 0.344 1.353
|
|
|
|
|
## 25 job.occupationBusiness Operations (including Marketing) 1.647 0.755 3.590
|
|
|
|
|
## 26 job.occupationFinancial Operations or Financial Services (including Financial Advisor, Broker) 1.351 0.540 3.380
|
|
|
|
|
## 27 job.occupationEducation, Training, and Library 0.869 0.356 2.120
|
|
|
|
|
## 28 job.occupationArts, Design, Entertainment, Sports, and Media 3.016 1.278 7.119
|
|
|
|
|
## 29 job.occupationHealth Diagnosing or Treating Practitioner (such as physician, nurse, dentist, veterinarian, pharmacist) 0.443 0.105 1.874
|
|
|
|
|
## 30 job.occupationSales 0.987 0.459 2.122
|
|
|
|
|
## increment
|
|
|
|
|
## 1 1
|
|
|
|
|
## 2 Indicator variable
|
|
|
|
|
## 3 Indicator variable
|
|
|
|
|
## 4 Indicator variable
|
|
|
|
|
## 5 Indicator variable
|
|
|
|
|
## 6 Indicator variable
|
|
|
|
|
## 7 Indicator variable
|
|
|
|
|
## 8 Indicator variable
|
|
|
|
|
## 9 Indicator variable
|
|
|
|
|
## 10 Indicator variable
|
|
|
|
|
## 11 Indicator variable
|
|
|
|
|
## 12 Indicator variable
|
|
|
|
|
## 13 Indicator variable
|
|
|
|
|
## 14 Indicator variable
|
|
|
|
|
## 15 Indicator variable
|
|
|
|
|
## 16 Indicator variable
|
|
|
|
|
## 17 Indicator variable
|
|
|
|
|
## 18 Indicator variable
|
|
|
|
|
## 19 Indicator variable
|
|
|
|
|
## 20 Indicator variable
|
|
|
|
|
## 21 Indicator variable
|
|
|
|
|
## 22 Indicator variable
|
|
|
|
|
## 23 Indicator variable
|
|
|
|
|
## 24 Indicator variable
|
|
|
|
|
## 25 Indicator variable
|
|
|
|
|
## 26 Indicator variable
|
|
|
|
|
## 27 Indicator variable
|
|
|
|
|
## 28 Indicator variable
|
|
|
|
|
## 29 Indicator variable
|
|
|
|
|
## 30 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="risk.tolerance" class="section level2">
|
|
|
|
|
<h2>risk.tolerance</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + risk.tolerance,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + risk.tolerance,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.644821 0.290448 -12.549 < 2e-16 ***
|
|
|
|
|
## age -0.032445 0.004127 -7.862 4.10e-15 ***
|
|
|
|
|
## is.maleTRUE 0.320517 0.169451 1.891 0.0586 .
|
|
|
|
|
## risk.tolerance 0.153390 0.035631 4.305 1.68e-05 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 1.00971)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1, risk.tolerance = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.378 0.988 1.921 Indicator variable
|
|
|
|
|
## 3 risk.tolerance 1.166 1.087 1.250 1</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="miscellaneous" class="section level1">
|
|
|
|
|
<h1>Miscellaneous</h1>
|
|
|
|
|
<div id="education.level" class="section level2">
|
|
|
|
|
<h2>education.level</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + education.level,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + education.level,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.004087 0.325355 -9.233 < 2e-16 ***
|
|
|
|
|
## age -0.033604 0.004232 -7.941 2.19e-15 ***
|
|
|
|
|
## is.maleTRUE 0.479580 0.169894 2.823 0.00477 **
|
|
|
|
|
## education.levelLess than high school degree 0.909354 0.354585 2.565 0.01034 *
|
|
|
|
|
## education.levelSome college but no degree (including currently enrolled in college) -0.018952 0.300965 -0.063 0.94979
|
|
|
|
|
## education.levelCertificate or technical degree 0.736750 0.365843 2.014 0.04405 *
|
|
|
|
|
## education.levelAssociate degree 0.321663 0.324606 0.991 0.32174
|
|
|
|
|
## education.levelBachelor’s degree 0.308002 0.263375 1.169 0.24225
|
|
|
|
|
## education.levelMaster’s degree -0.352900 0.358475 -0.984 0.32491
|
|
|
|
|
## education.levelProfessional degree (e.g., MBA, MD, JD) 0.120345 0.444589 0.271 0.78664
|
|
|
|
|
## education.levelDoctoral degree 0.426466 0.538741 0.792 0.42861
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9733736)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.967 0.959 0.975 1
|
|
|
|
|
## 2 is.maleTRUE 1.615 1.158 2.254 Indicator variable
|
|
|
|
|
## 3 education.levelLess than high school degree 2.483 1.239 4.975 Indicator variable
|
|
|
|
|
## 4 education.levelSome college but no degree (including currently enrolled in college) 0.981 0.544 1.770 Indicator variable
|
|
|
|
|
## 5 education.levelCertificate or technical degree 2.089 1.020 4.280 Indicator variable
|
|
|
|
|
## 6 education.levelAssociate degree 1.379 0.730 2.606 Indicator variable
|
|
|
|
|
## 7 education.levelBachelor’s degree 1.361 0.812 2.280 Indicator variable
|
|
|
|
|
## 8 education.levelMaster’s degree 0.703 0.348 1.419 Indicator variable
|
|
|
|
|
## 9 education.levelProfessional degree (e.g., MBA, MD, JD) 1.128 0.472 2.696 Indicator variable
|
|
|
|
|
## 10 education.levelDoctoral degree 1.532 0.533 4.404 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="income.category" class="section level2">
|
|
|
|
|
<h2>income.category</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + income.category,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + income.category,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.273818 0.416856 -7.854 4.39e-15 ***
|
|
|
|
|
## age -0.030726 0.004441 -6.920 4.77e-12 ***
|
|
|
|
|
## is.maleTRUE 0.468895 0.169410 2.768 0.00565 **
|
|
|
|
|
## income.category$1 to $4,999 0.678200 0.462588 1.466 0.14265
|
|
|
|
|
## income.category$5,000 to $14,999 0.675499 0.476955 1.416 0.15672
|
|
|
|
|
## income.category$15,000 to $24,999 0.927493 0.446426 2.078 0.03777 *
|
|
|
|
|
## income.category$25,000 to $39,999 0.318584 0.481331 0.662 0.50806
|
|
|
|
|
## income.category$40,000 to $49,999 0.372418 0.546639 0.681 0.49570
|
|
|
|
|
## income.category$50,000 to $74,999 0.278145 0.453145 0.614 0.53935
|
|
|
|
|
## income.category$75,000 to $99,999 -0.095317 0.496997 -0.192 0.84791
|
|
|
|
|
## income.category$100,000 to $149,999 0.016235 0.462073 0.035 0.97197
|
|
|
|
|
## income.category$150,000 to $199,999 0.383789 0.466797 0.822 0.41099
|
|
|
|
|
## income.category$200,000 or higher 0.513793 0.467091 1.100 0.27136
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9338147)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.961 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.598 1.147 2.228 Indicator variable
|
|
|
|
|
## 3 income.category$1 to $4,999 1.970 0.796 4.879 Indicator variable
|
|
|
|
|
## 4 income.category$5,000 to $14,999 1.965 0.772 5.005 Indicator variable
|
|
|
|
|
## 5 income.category$15,000 to $24,999 2.528 1.054 6.065 Indicator variable
|
|
|
|
|
## 6 income.category$25,000 to $39,999 1.375 0.535 3.533 Indicator variable
|
|
|
|
|
## 7 income.category$40,000 to $49,999 1.451 0.497 4.237 Indicator variable
|
|
|
|
|
## 8 income.category$50,000 to $74,999 1.321 0.543 3.210 Indicator variable
|
|
|
|
|
## 9 income.category$75,000 to $99,999 0.909 0.343 2.408 Indicator variable
|
|
|
|
|
## 10 income.category$100,000 to $149,999 1.016 0.411 2.514 Indicator variable
|
|
|
|
|
## 11 income.category$150,000 to $199,999 1.468 0.588 3.665 Indicator variable
|
|
|
|
|
## 12 income.category$200,000 or higher 1.672 0.669 4.176 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="total.household.savings" class="section level2">
|
|
|
|
|
<h2>total.household.savings</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + total.household.savings,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + total.household.savings,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.556369 0.421537 -8.437 < 2e-16 ***
|
|
|
|
|
## age -0.030760 0.005611 -5.482 4.3e-08 ***
|
|
|
|
|
## is.maleTRUE 0.518701 0.190683 2.720 0.00654 **
|
|
|
|
|
## total.household.savingsUnder $50,000 0.763129 0.340146 2.244 0.02488 *
|
|
|
|
|
## total.household.savings$50,000 - $99,999 0.704741 0.403520 1.746 0.08076 .
|
|
|
|
|
## total.household.savings$250,000 - $499,999 0.042244 0.501924 0.084 0.93293
|
|
|
|
|
## total.household.savings$500,000 - $999,999 0.567264 0.500600 1.133 0.25717
|
|
|
|
|
## total.household.savings$1,000,000 or more 0.756296 0.453426 1.668 0.09536 .
|
|
|
|
|
## total.household.savingsNot sure 0.356281 0.501123 0.711 0.47712
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9623409)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.959 0.980 1
|
|
|
|
|
## 2 is.maleTRUE 1.680 1.156 2.441 Indicator variable
|
|
|
|
|
## 3 total.household.savingsUnder $50,000 2.145 1.101 4.178 Indicator variable
|
|
|
|
|
## 4 total.household.savings$50,000 - $99,999 2.023 0.917 4.463 Indicator variable
|
|
|
|
|
## 5 total.household.savings$250,000 - $499,999 1.043 0.390 2.790 Indicator variable
|
|
|
|
|
## 6 total.household.savings$500,000 - $999,999 1.763 0.661 4.705 Indicator variable
|
|
|
|
|
## 7 total.household.savings$1,000,000 or more 2.130 0.876 5.182 Indicator variable
|
|
|
|
|
## 8 total.household.savingsNot sure 1.428 0.535 3.814 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="overall.financial.wellbeing" class="section level2">
|
|
|
|
|
<h2>overall.financial.wellbeing</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + overall.financial.wellbeing,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + overall.financial.wellbeing,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.268126 0.350735 -6.467 1.04e-10 ***
|
|
|
|
|
## age -0.031841 0.004166 -7.643 2.29e-14 ***
|
|
|
|
|
## is.maleTRUE 0.484261 0.168554 2.873 0.00407 **
|
|
|
|
|
## overall.financial.wellbeingJust getting by -0.317562 0.311349 -1.020 0.30777
|
|
|
|
|
## overall.financial.wellbeingDoing okay -0.806923 0.296748 -2.719 0.00655 **
|
|
|
|
|
## overall.financial.wellbeingLiving comfortably -0.691068 0.296050 -2.334 0.01960 *
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9535067)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.623 1.166 2.258 Indicator variable
|
|
|
|
|
## 3 overall.financial.wellbeingJust getting by 0.728 0.395 1.340 Indicator variable
|
|
|
|
|
## 4 overall.financial.wellbeingDoing okay 0.446 0.249 0.798 Indicator variable
|
|
|
|
|
## 5 overall.financial.wellbeingLiving comfortably 0.501 0.280 0.895 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="received.food.stamps" class="section level2">
|
|
|
|
|
<h2>received.food.stamps</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + received.food.stamps,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + received.food.stamps,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.089908 0.237432 -13.014 < 2e-16 ***
|
|
|
|
|
## age -0.031579 0.004243 -7.442 1.06e-13 ***
|
|
|
|
|
## is.maleTRUE 0.530637 0.168799 3.144 0.00167 **
|
|
|
|
|
## received.food.stampsYes 1.018607 0.197450 5.159 2.53e-07 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9422187)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.700 1.221 2.367 Indicator variable
|
|
|
|
|
## 3 received.food.stampsYes 2.769 1.881 4.078 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="life.satisfaction" class="section level2">
|
|
|
|
|
<h2>life.satisfaction</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + life.satisfaction,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + life.satisfaction,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.083025 0.307205 -6.781 1.25e-11 ***
|
|
|
|
|
## age -0.031802 0.004047 -7.858 4.23e-15 ***
|
|
|
|
|
## is.maleTRUE 0.489125 0.168066 2.910 0.00362 **
|
|
|
|
|
## life.satisfaction -0.110727 0.034123 -3.245 0.00118 **
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9583323)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1, life.satisfaction = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.631 1.173 2.267 Indicator variable
|
|
|
|
|
## 3 life.satisfaction 0.895 0.837 0.957 1</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="employer.type" class="section level2">
|
|
|
|
|
<h2>employer.type</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + employer.type,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + employer.type,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.865859 0.239651 -11.958 < 2e-16 ***
|
|
|
|
|
## age -0.032834 0.004279 -7.674 1.8e-14 ***
|
|
|
|
|
## is.maleTRUE 0.457349 0.172355 2.654 0.00798 **
|
|
|
|
|
## employer.typeNot asked 0.019641 0.223010 0.088 0.92982
|
|
|
|
|
## employer.typeRefused -10.738646 0.432384 -24.836 < 2e-16 ***
|
|
|
|
|
## employer.typeGovernment -0.071288 0.273183 -0.261 0.79413
|
|
|
|
|
## employer.typeNon-profit organization including tax exempt and charitable organizations -0.194815 0.337976 -0.576 0.56434
|
|
|
|
|
## employer.typeSelf-employed 0.513342 0.244855 2.097 0.03606 *
|
|
|
|
|
## employer.typeWorking in the family business 0.679120 0.593724 1.144 0.25272
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9561779)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 13</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.580 1.127 2.215 Indicator variable
|
|
|
|
|
## 3 employer.typeNot asked 1.020 0.659 1.579 Indicator variable
|
|
|
|
|
## 4 employer.typeRefused 0.000 0.000 0.000 Indicator variable
|
|
|
|
|
## 5 employer.typeGovernment 0.931 0.545 1.591 Indicator variable
|
|
|
|
|
## 6 employer.typeNon-profit organization including tax exempt and charitable organizations 0.823 0.424 1.596 Indicator variable
|
|
|
|
|
## 7 employer.typeSelf-employed 1.671 1.034 2.700 Indicator variable
|
|
|
|
|
## 8 employer.typeWorking in the family business 1.972 0.616 6.315 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="employer.type-self-employed-job.occupation-computer-and-mathematical" class="section level2">
|
|
|
|
|
<h2>employer.type = Self-employed & job.occupation = Computer and
|
|
|
|
|
Mathematical</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male +
|
|
|
|
|
I(employer.type == "Self-employed") * I(job.occupation == "Computer and Mathematical"),
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + I(employer.type ==
|
|
|
|
|
## "Self-employed") * I(job.occupation == "Computer and Mathematical"),
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.926030 0.223009 -13.121 < 2e-16 ***
|
|
|
|
|
## age -0.032243 0.004112 -7.841 4.86e-15 ***
|
|
|
|
|
## is.maleTRUE 0.402155 0.171206 2.349 0.01884 *
|
|
|
|
|
## I(employer.type == "Self-employed")TRUE 0.535333 0.238590 2.244 0.02487 *
|
|
|
|
|
## I(job.occupation == "Computer and Mathematical")TRUE 0.828596 0.255330 3.245 0.00118 **
|
|
|
|
|
## I(employer.type == "Self-employed")TRUE:I(job.occupation == "Computer and Mathematical")TRUE -0.030258 0.800649 -0.038 0.96985
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9686841)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>print(or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1)))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.976 1
|
|
|
|
|
## 2 is.maleTRUE 1.495 1.069 2.091 Indicator variable
|
|
|
|
|
## 3 I(employer.type == "Self-employed")TRUE 1.708 1.070 2.726 Indicator variable
|
|
|
|
|
## 4 I(job.occupation == "Computer and Mathematical")TRUE 2.290 1.388 3.778 Indicator variable
|
|
|
|
|
## 5 I(employer.type == "Self-employed")TRUE:I(job.occupation == "Computer and Mathematical")TRUE 0.970 0.202 4.661 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="informal.selling.of.goods" class="section level2">
|
|
|
|
|
<h2>informal.selling.of.goods</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + informal.selling.of.goods,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + informal.selling.of.goods,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.121719 0.235807 -13.238 < 2e-16 ***
|
|
|
|
|
## age -0.030387 0.004167 -7.292 3.24e-13 ***
|
|
|
|
|
## is.maleTRUE 0.507850 0.168997 3.005 0.00266 **
|
|
|
|
|
## informal.selling.of.goodsTRUE 1.008002 0.203127 4.962 7.06e-07 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9585714)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.962 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.662 1.193 2.314 Indicator variable
|
|
|
|
|
## 3 informal.selling.of.goodsTRUE 2.740 1.840 4.080 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="freelance.or.gig.work" class="section level2">
|
|
|
|
|
<h2>freelance.or.gig.work</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + freelance.or.gig.work,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + freelance.or.gig.work,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -3.056709 0.228730 -13.364 < 2e-16 ***
|
|
|
|
|
## age -0.030618 0.004081 -7.502 6.75e-14 ***
|
|
|
|
|
## is.maleTRUE 0.465822 0.168194 2.770 0.00562 **
|
|
|
|
|
## freelance.or.gig.workTRUE 1.218055 0.226264 5.383 7.45e-08 ***
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.973539)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.970 0.962 0.978 1
|
|
|
|
|
## 2 is.maleTRUE 1.593 1.146 2.216 Indicator variable
|
|
|
|
|
## 3 freelance.or.gig.workTRUE 3.381 2.170 5.268 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="resides.in.metro.statistical.area" class="section level2">
|
|
|
|
|
<h2>resides.in.metro.statistical.area</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + resides.in.metro.statistical.area,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + resides.in.metro.statistical.area,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.717748 0.305226 -8.904 < 2e-16 ***
|
|
|
|
|
## age -0.032861 0.004008 -8.199 2.68e-16 ***
|
|
|
|
|
## is.maleTRUE 0.474676 0.168284 2.821 0.0048 **
|
|
|
|
|
## resides.in.metro.statistical.areaTRUE -0.116266 0.245596 -0.473 0.6359
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9614606)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.975 1
|
|
|
|
|
## 2 is.maleTRUE 1.607 1.156 2.236 Indicator variable
|
|
|
|
|
## 3 resides.in.metro.statistical.areaTRUE 0.890 0.550 1.441 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="respondent.device.type" class="section level2">
|
|
|
|
|
<h2>respondent.device.type</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + respondent.device.type,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + respondent.device.type,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.918718 0.310897 -9.388 < 2e-16 ***
|
|
|
|
|
## age -0.031673 0.004376 -7.237 4.87e-13 ***
|
|
|
|
|
## is.maleTRUE 0.474081 0.176238 2.690 0.00716 **
|
|
|
|
|
## respondent.device.typeiPad 0.103007 0.620870 0.166 0.86823
|
|
|
|
|
## respondent.device.typeiPod 2.970426 1.128025 2.633 0.00847 **
|
|
|
|
|
## respondent.device.typeiPhone 0.066980 0.245593 0.273 0.78507
|
|
|
|
|
## respondent.device.typeMac -0.299168 0.312683 -0.957 0.33870
|
|
|
|
|
## respondent.device.typeChromeBook -0.691715 1.016032 -0.681 0.49601
|
|
|
|
|
## respondent.device.typeAndroidTablet 0.392972 0.481166 0.817 0.41411
|
|
|
|
|
## respondent.device.typeAndroidPhone 0.182044 0.218314 0.834 0.40438
|
|
|
|
|
## respondent.device.typeTabletOther -13.379916 1.021910 -13.093 < 2e-16 ***
|
|
|
|
|
## respondent.device.typeKindleFireTablet -13.051119 0.219470 -59.467 < 2e-16 ***
|
|
|
|
|
## respondent.device.typeothers 0.505531 0.618699 0.817 0.41390
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9576177)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 16</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.969 0.961 0.977 1
|
|
|
|
|
## 2 is.maleTRUE 1.607 1.137 2.269 Indicator variable
|
|
|
|
|
## 3 respondent.device.typeiPad 1.108 0.328 3.743 Indicator variable
|
|
|
|
|
## 4 respondent.device.typeiPod 19.500 2.137 177.957 Indicator variable
|
|
|
|
|
## 5 respondent.device.typeiPhone 1.069 0.661 1.730 Indicator variable
|
|
|
|
|
## 6 respondent.device.typeMac 0.741 0.402 1.369 Indicator variable
|
|
|
|
|
## 7 respondent.device.typeChromeBook 0.501 0.068 3.669 Indicator variable
|
|
|
|
|
## 8 respondent.device.typeAndroidTablet 1.481 0.577 3.804 Indicator variable
|
|
|
|
|
## 9 respondent.device.typeAndroidPhone 1.200 0.782 1.840 Indicator variable
|
|
|
|
|
## 10 respondent.device.typeTabletOther 0.000 0.000 0.000 Indicator variable
|
|
|
|
|
## 11 respondent.device.typeKindleFireTablet 0.000 0.000 0.000 Indicator variable
|
|
|
|
|
## 12 respondent.device.typeothers 1.658 0.493 5.575 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="is.kp.laptop.user" class="section level2">
|
|
|
|
|
<h2>is.kp.laptop.user</h2>
|
|
|
|
|
<pre class="r"><code>svyglm.fit <- svyglm(crypto.used.as.payment ~ age + is.male + is.kp.laptop.user,
|
|
|
|
|
SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
summary(svyglm.fit)</code></pre>
|
|
|
|
|
<pre><code>##
|
|
|
|
|
## Call:
|
|
|
|
|
## svyglm(formula = crypto.used.as.payment ~ age + is.male + is.kp.laptop.user,
|
|
|
|
|
## design = SHED, family = stats::quasibinomial(link = "logit"))
|
|
|
|
|
##
|
|
|
|
|
## Survey design:
|
|
|
|
|
## svydesign(ids = ~0, data = SHED, weights = SHED$weight_pop)
|
|
|
|
|
##
|
|
|
|
|
## Coefficients:
|
|
|
|
|
## Estimate Std. Error t value Pr(>|t|)
|
|
|
|
|
## (Intercept) -2.826935 0.216554 -13.054 < 2e-16 ***
|
|
|
|
|
## age -0.032808 0.004015 -8.171 3.37e-16 ***
|
|
|
|
|
## is.maleTRUE 0.472575 0.168431 2.806 0.00503 **
|
|
|
|
|
## is.kp.laptop.userTRUE 0.247685 0.471514 0.525 0.59939
|
|
|
|
|
## ---
|
|
|
|
|
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
|
|
|
|
|
##
|
|
|
|
|
## (Dispersion parameter for quasibinomial family taken to be 0.9638515)
|
|
|
|
|
##
|
|
|
|
|
## Number of Fisher Scoring iterations: 7</code></pre>
|
|
|
|
|
<pre class="r"><code>or_svyglm(SHED$variables, svyglm.fit, incr = list(age = 1))</code></pre>
|
|
|
|
|
<pre><code>## predictor oddsratio ci_low (2.5) ci_high (97.5) increment
|
|
|
|
|
## 1 age 0.968 0.960 0.975 1
|
|
|
|
|
## 2 is.maleTRUE 1.604 1.153 2.232 Indicator variable
|
|
|
|
|
## 3 is.kp.laptop.userTRUE 1.281 0.508 3.228 Indicator variable</code></pre>
|
|
|
|
|
</div>
|
2022-05-25 01:54:47 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
|
|
// add bootstrap table styles to pandoc tables
|
|
|
|
|
function bootstrapStylePandocTables() {
|
|
|
|
|
$('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
|
|
|
|
|
}
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|
bootstrapStylePandocTables();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<!-- tabsets -->
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|
window.buildTabsets("TOC");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|
$('.tabset-dropdown > .nav-tabs > li').click(function () {
|
|
|
|
|
$(this).parent().toggleClass('nav-tabs-open');
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<!-- code folding -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- dynamically load mathjax for compatibility with self-contained -->
|
|
|
|
|
<script>
|
|
|
|
|
(function () {
|
|
|
|
|
var script = document.createElement("script");
|
|
|
|
|
script.type = "text/javascript";
|
|
|
|
|
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
|
|
|
|
document.getElementsByTagName("head")[0].appendChild(script);
|
|
|
|
|
})();
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|