├── R Programlamaya Giriş - 13 Kasım 2022 ├── Fifa 23 Players Data.csv ├── Readme.md ├── Rpg.html ├── Rpg.qmd ├── Rpg_files │ ├── figure-html │ │ ├── unnamed-chunk-57-1.png │ │ ├── unnamed-chunk-58-1.png │ │ ├── unnamed-chunk-59-1.png │ │ ├── unnamed-chunk-60-1.png │ │ ├── unnamed-chunk-61-1.png │ │ ├── unnamed-chunk-62-1.png │ │ ├── unnamed-chunk-63-1.png │ │ └── unnamed-chunk-64-1.png │ └── libs │ │ ├── bootstrap │ │ ├── bootstrap-icons.css │ │ ├── bootstrap-icons.woff │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.js │ │ ├── clipboard │ │ └── clipboard.min.js │ │ └── quarto-html │ │ ├── anchor.min.js │ │ ├── popper.min.js │ │ ├── quarto-syntax-highlighting.css │ │ ├── quarto.js │ │ ├── tippy.css │ │ └── tippy.umd.min.js ├── base_r.png ├── cran.png ├── import.png ├── import_mistake.png ├── memes.mp4 ├── project.Rproj └── rstudio.png ├── README.md └── {dplyr} ile Veri Manipülasyonu - 26 Kasım 2022 ├── Readme.md ├── Rvm.html ├── Rvm.qmd ├── Rvm_files └── libs │ ├── bootstrap │ ├── bootstrap-icons.css │ ├── bootstrap-icons.woff │ ├── bootstrap.min.css │ └── bootstrap.min.js │ ├── clipboard │ └── clipboard.min.js │ └── quarto-html │ ├── anchor.min.js │ ├── popper.min.js │ ├── quarto-syntax-highlighting.css │ ├── quarto.js │ ├── tippy.css │ └── tippy.umd.min.js ├── arrange.png ├── banner.png ├── filter.png ├── full_join.png ├── group_by.png ├── inner_join.png ├── international_matches.csv ├── join.png ├── left_join.png ├── mutate.png ├── pivot_longer.png ├── pivot_wider.png ├── project.Rproj ├── right_join.png ├── select.png ├── summarise.png └── tidy_veri.png /R Programlamaya Giriş - 13 Kasım 2022/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-57-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-57-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-58-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-58-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-59-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-59-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-60-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-60-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-61-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-61-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-62-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-62-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-63-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-63-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-64-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/figure-html/unnamed-chunk-64-1.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/bootstrap/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/bootstrap/bootstrap-icons.woff -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/clipboard/clipboard.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * clipboard.js v2.0.10 3 | * https://clipboardjs.com/ 4 | * 5 | * Licensed MIT © Zeno Rocha 6 | */ 7 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); 9 | // @license-end -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/quarto-html/popper.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @popperjs/core v2.11.4 - MIT License 3 | */ 4 | 5 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W=0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); 6 | 7 | -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/quarto-html/quarto-syntax-highlighting.css: -------------------------------------------------------------------------------- 1 | /* quarto syntax highlight colors */ 2 | :root { 3 | --quarto-hl-ot-color: #003B4F; 4 | --quarto-hl-at-color: #657422; 5 | --quarto-hl-ss-color: #20794D; 6 | --quarto-hl-an-color: #5E5E5E; 7 | --quarto-hl-fu-color: #4758AB; 8 | --quarto-hl-st-color: #20794D; 9 | --quarto-hl-cf-color: #003B4F; 10 | --quarto-hl-op-color: #5E5E5E; 11 | --quarto-hl-er-color: #AD0000; 12 | --quarto-hl-bn-color: #AD0000; 13 | --quarto-hl-al-color: #AD0000; 14 | --quarto-hl-va-color: #111111; 15 | --quarto-hl-bu-color: inherit; 16 | --quarto-hl-ex-color: inherit; 17 | --quarto-hl-pp-color: #AD0000; 18 | --quarto-hl-in-color: #5E5E5E; 19 | --quarto-hl-vs-color: #20794D; 20 | --quarto-hl-wa-color: #5E5E5E; 21 | --quarto-hl-do-color: #5E5E5E; 22 | --quarto-hl-im-color: #00769E; 23 | --quarto-hl-ch-color: #20794D; 24 | --quarto-hl-dt-color: #AD0000; 25 | --quarto-hl-fl-color: #AD0000; 26 | --quarto-hl-co-color: #5E5E5E; 27 | --quarto-hl-cv-color: #5E5E5E; 28 | --quarto-hl-cn-color: #8f5902; 29 | --quarto-hl-sc-color: #5E5E5E; 30 | --quarto-hl-dv-color: #AD0000; 31 | --quarto-hl-kw-color: #003B4F; 32 | } 33 | 34 | /* other quarto variables */ 35 | :root { 36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 37 | } 38 | 39 | pre > code.sourceCode > span { 40 | color: #003B4F; 41 | } 42 | 43 | code span { 44 | color: #003B4F; 45 | } 46 | 47 | code.sourceCode > span { 48 | color: #003B4F; 49 | } 50 | 51 | div.sourceCode, 52 | div.sourceCode pre.sourceCode { 53 | color: #003B4F; 54 | } 55 | 56 | code span.ot { 57 | color: #003B4F; 58 | } 59 | 60 | code span.at { 61 | color: #657422; 62 | } 63 | 64 | code span.ss { 65 | color: #20794D; 66 | } 67 | 68 | code span.an { 69 | color: #5E5E5E; 70 | } 71 | 72 | code span.fu { 73 | color: #4758AB; 74 | } 75 | 76 | code span.st { 77 | color: #20794D; 78 | } 79 | 80 | code span.cf { 81 | color: #003B4F; 82 | } 83 | 84 | code span.op { 85 | color: #5E5E5E; 86 | } 87 | 88 | code span.er { 89 | color: #AD0000; 90 | } 91 | 92 | code span.bn { 93 | color: #AD0000; 94 | } 95 | 96 | code span.al { 97 | color: #AD0000; 98 | } 99 | 100 | code span.va { 101 | color: #111111; 102 | } 103 | 104 | code span.pp { 105 | color: #AD0000; 106 | } 107 | 108 | code span.in { 109 | color: #5E5E5E; 110 | } 111 | 112 | code span.vs { 113 | color: #20794D; 114 | } 115 | 116 | code span.wa { 117 | color: #5E5E5E; 118 | font-style: italic; 119 | } 120 | 121 | code span.do { 122 | color: #5E5E5E; 123 | font-style: italic; 124 | } 125 | 126 | code span.im { 127 | color: #00769E; 128 | } 129 | 130 | code span.ch { 131 | color: #20794D; 132 | } 133 | 134 | code span.dt { 135 | color: #AD0000; 136 | } 137 | 138 | code span.fl { 139 | color: #AD0000; 140 | } 141 | 142 | code span.co { 143 | color: #5E5E5E; 144 | } 145 | 146 | code span.cv { 147 | color: #5E5E5E; 148 | font-style: italic; 149 | } 150 | 151 | code span.cn { 152 | color: #8f5902; 153 | } 154 | 155 | code span.sc { 156 | color: #5E5E5E; 157 | } 158 | 159 | code span.dv { 160 | color: #AD0000; 161 | } 162 | 163 | code span.kw { 164 | color: #003B4F; 165 | } 166 | 167 | .prevent-inlining { 168 | content: " { 17 | const sibling = el.previousElementSibling; 18 | if (sibling && sibling.tagName === "A") { 19 | return sibling.classList.contains("active"); 20 | } else { 21 | return false; 22 | } 23 | }; 24 | 25 | // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) 26 | function fireSlideEnter(e) { 27 | const event = window.document.createEvent("Event"); 28 | event.initEvent("slideenter", true, true); 29 | window.document.dispatchEvent(event); 30 | } 31 | const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); 32 | tabs.forEach((tab) => { 33 | tab.addEventListener("shown.bs.tab", fireSlideEnter); 34 | }); 35 | 36 | // Track scrolling and mark TOC links as active 37 | // get table of contents and sidebar (bail if we don't have at least one) 38 | const tocLinks = tocEl 39 | ? [...tocEl.querySelectorAll("a[data-scroll-target]")] 40 | : []; 41 | const makeActive = (link) => tocLinks[link].classList.add("active"); 42 | const removeActive = (link) => tocLinks[link].classList.remove("active"); 43 | const removeAllActive = () => 44 | [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); 45 | 46 | // activate the anchor for a section associated with this TOC entry 47 | tocLinks.forEach((link) => { 48 | link.addEventListener("click", () => { 49 | if (link.href.indexOf("#") !== -1) { 50 | const anchor = link.href.split("#")[1]; 51 | const heading = window.document.querySelector( 52 | `[data-anchor-id=${anchor}]` 53 | ); 54 | if (heading) { 55 | // Add the class 56 | heading.classList.add("reveal-anchorjs-link"); 57 | 58 | // function to show the anchor 59 | const handleMouseout = () => { 60 | heading.classList.remove("reveal-anchorjs-link"); 61 | heading.removeEventListener("mouseout", handleMouseout); 62 | }; 63 | 64 | // add a function to clear the anchor when the user mouses out of it 65 | heading.addEventListener("mouseout", handleMouseout); 66 | } 67 | } 68 | }); 69 | }); 70 | 71 | const sections = tocLinks.map((link) => { 72 | const target = link.getAttribute("data-scroll-target"); 73 | if (target.startsWith("#")) { 74 | return window.document.getElementById(decodeURI(`${target.slice(1)}`)); 75 | } else { 76 | return window.document.querySelector(decodeURI(`${target}`)); 77 | } 78 | }); 79 | 80 | const sectionMargin = 200; 81 | let currentActive = 0; 82 | // track whether we've initialized state the first time 83 | let init = false; 84 | 85 | const updateActiveLink = () => { 86 | // The index from bottom to top (e.g. reversed list) 87 | let sectionIndex = -1; 88 | if ( 89 | window.innerHeight + window.pageYOffset >= 90 | window.document.body.offsetHeight 91 | ) { 92 | sectionIndex = 0; 93 | } else { 94 | sectionIndex = [...sections].reverse().findIndex((section) => { 95 | if (section) { 96 | return window.pageYOffset >= section.offsetTop - sectionMargin; 97 | } else { 98 | return false; 99 | } 100 | }); 101 | } 102 | if (sectionIndex > -1) { 103 | const current = sections.length - sectionIndex - 1; 104 | if (current !== currentActive) { 105 | removeAllActive(); 106 | currentActive = current; 107 | makeActive(current); 108 | if (init) { 109 | window.dispatchEvent(sectionChanged); 110 | } 111 | init = true; 112 | } 113 | } 114 | }; 115 | 116 | const inHiddenRegion = (top, bottom, hiddenRegions) => { 117 | for (const region of hiddenRegions) { 118 | if (top <= region.bottom && bottom >= region.top) { 119 | return true; 120 | } 121 | } 122 | return false; 123 | }; 124 | 125 | const categorySelector = "header.quarto-title-block .quarto-category"; 126 | const activateCategories = (href) => { 127 | // Find any categories 128 | // Surround them with a link pointing back to: 129 | // #category=Authoring 130 | try { 131 | const categoryEls = window.document.querySelectorAll(categorySelector); 132 | for (const categoryEl of categoryEls) { 133 | const categoryText = categoryEl.textContent; 134 | if (categoryText) { 135 | const link = `${href}#category=${encodeURIComponent(categoryText)}`; 136 | const linkEl = window.document.createElement("a"); 137 | linkEl.setAttribute("href", link); 138 | for (const child of categoryEl.childNodes) { 139 | linkEl.append(child); 140 | } 141 | categoryEl.appendChild(linkEl); 142 | } 143 | } 144 | } catch { 145 | // Ignore errors 146 | } 147 | }; 148 | function hasTitleCategories() { 149 | return window.document.querySelector(categorySelector) !== null; 150 | } 151 | 152 | function offsetRelativeUrl(url) { 153 | const offset = getMeta("quarto:offset"); 154 | return offset ? offset + url : url; 155 | } 156 | 157 | function offsetAbsoluteUrl(url) { 158 | const offset = getMeta("quarto:offset"); 159 | const baseUrl = new URL(offset, window.location); 160 | 161 | const projRelativeUrl = url.replace(baseUrl, ""); 162 | if (projRelativeUrl.startsWith("/")) { 163 | return projRelativeUrl; 164 | } else { 165 | return "/" + projRelativeUrl; 166 | } 167 | } 168 | 169 | // read a meta tag value 170 | function getMeta(metaName) { 171 | const metas = window.document.getElementsByTagName("meta"); 172 | for (let i = 0; i < metas.length; i++) { 173 | if (metas[i].getAttribute("name") === metaName) { 174 | return metas[i].getAttribute("content"); 175 | } 176 | } 177 | return ""; 178 | } 179 | 180 | async function findAndActivateCategories() { 181 | const currentPagePath = offsetAbsoluteUrl(window.location.href); 182 | const response = await fetch(offsetRelativeUrl("listings.json")); 183 | if (response.status == 200) { 184 | return response.json().then(function (listingPaths) { 185 | const listingHrefs = []; 186 | for (const listingPath of listingPaths) { 187 | const pathWithoutLeadingSlash = listingPath.listing.substring(1); 188 | for (const item of listingPath.items) { 189 | if ( 190 | item === currentPagePath || 191 | item === currentPagePath + "index.html" 192 | ) { 193 | // Resolve this path against the offset to be sure 194 | // we already are using the correct path to the listing 195 | // (this adjusts the listing urls to be rooted against 196 | // whatever root the page is actually running against) 197 | const relative = offsetRelativeUrl(pathWithoutLeadingSlash); 198 | const baseUrl = window.location; 199 | const resolvedPath = new URL(relative, baseUrl); 200 | listingHrefs.push(resolvedPath.pathname); 201 | break; 202 | } 203 | } 204 | } 205 | 206 | // Look up the tree for a nearby linting and use that if we find one 207 | const nearestListing = findNearestParentListing( 208 | offsetAbsoluteUrl(window.location.pathname), 209 | listingHrefs 210 | ); 211 | if (nearestListing) { 212 | activateCategories(nearestListing); 213 | } else { 214 | // See if the referrer is a listing page for this item 215 | const referredRelativePath = offsetAbsoluteUrl(document.referrer); 216 | const referrerListing = listingHrefs.find((listingHref) => { 217 | const isListingReferrer = 218 | listingHref === referredRelativePath || 219 | listingHref === referredRelativePath + "index.html"; 220 | return isListingReferrer; 221 | }); 222 | 223 | if (referrerListing) { 224 | // Try to use the referrer if possible 225 | activateCategories(referrerListing); 226 | } else if (listingHrefs.length > 0) { 227 | // Otherwise, just fall back to the first listing 228 | activateCategories(listingHrefs[0]); 229 | } 230 | } 231 | }); 232 | } 233 | } 234 | if (hasTitleCategories()) { 235 | findAndActivateCategories(); 236 | } 237 | 238 | const findNearestParentListing = (href, listingHrefs) => { 239 | if (!href || !listingHrefs) { 240 | return undefined; 241 | } 242 | // Look up the tree for a nearby linting and use that if we find one 243 | const relativeParts = href.substring(1).split("/"); 244 | while (relativeParts.length > 0) { 245 | const path = relativeParts.join("/"); 246 | for (const listingHref of listingHrefs) { 247 | if (listingHref.startsWith(path)) { 248 | return listingHref; 249 | } 250 | } 251 | relativeParts.pop(); 252 | } 253 | 254 | return undefined; 255 | }; 256 | 257 | const manageSidebarVisiblity = (el, placeholderDescriptor) => { 258 | let isVisible = true; 259 | 260 | return (hiddenRegions) => { 261 | if (el === null) { 262 | return; 263 | } 264 | 265 | // Find the last element of the TOC 266 | const lastChildEl = el.lastElementChild; 267 | 268 | if (lastChildEl) { 269 | // Find the top and bottom o the element that is being managed 270 | const elTop = el.offsetTop; 271 | const elBottom = 272 | elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; 273 | 274 | // Converts the sidebar to a menu 275 | const convertToMenu = () => { 276 | for (const child of el.children) { 277 | child.style.opacity = 0; 278 | child.style.overflow = "hidden"; 279 | } 280 | 281 | const toggleContainer = window.document.createElement("div"); 282 | toggleContainer.style.width = "100%"; 283 | toggleContainer.classList.add("zindex-over-content"); 284 | toggleContainer.classList.add("quarto-sidebar-toggle"); 285 | toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom 286 | toggleContainer.id = placeholderDescriptor.id; 287 | toggleContainer.style.position = "fixed"; 288 | 289 | const toggleIcon = window.document.createElement("i"); 290 | toggleIcon.classList.add("quarto-sidebar-toggle-icon"); 291 | toggleIcon.classList.add("bi"); 292 | toggleIcon.classList.add("bi-caret-down-fill"); 293 | 294 | const toggleTitle = window.document.createElement("div"); 295 | const titleEl = window.document.body.querySelector( 296 | placeholderDescriptor.titleSelector 297 | ); 298 | if (titleEl) { 299 | toggleTitle.append(titleEl.innerText, toggleIcon); 300 | } 301 | toggleTitle.classList.add("zindex-over-content"); 302 | toggleTitle.classList.add("quarto-sidebar-toggle-title"); 303 | toggleContainer.append(toggleTitle); 304 | 305 | const toggleContents = window.document.createElement("div"); 306 | toggleContents.classList = el.classList; 307 | toggleContents.classList.add("zindex-over-content"); 308 | toggleContents.classList.add("quarto-sidebar-toggle-contents"); 309 | for (const child of el.children) { 310 | if (child.id === "toc-title") { 311 | continue; 312 | } 313 | 314 | const clone = child.cloneNode(true); 315 | clone.style.opacity = 1; 316 | clone.style.display = null; 317 | toggleContents.append(clone); 318 | } 319 | toggleContents.style.height = "0px"; 320 | toggleContainer.append(toggleContents); 321 | el.parentElement.prepend(toggleContainer); 322 | 323 | // Process clicks 324 | let tocShowing = false; 325 | // Allow the caller to control whether this is dismissed 326 | // when it is clicked (e.g. sidebar navigation supports 327 | // opening and closing the nav tree, so don't dismiss on click) 328 | const clickEl = placeholderDescriptor.dismissOnClick 329 | ? toggleContainer 330 | : toggleTitle; 331 | 332 | const closeToggle = () => { 333 | if (tocShowing) { 334 | toggleContainer.classList.remove("expanded"); 335 | toggleContents.style.height = "0px"; 336 | tocShowing = false; 337 | } 338 | }; 339 | 340 | const positionToggle = () => { 341 | // position the element (top left of parent, same width as parent) 342 | const elRect = el.getBoundingClientRect(); 343 | toggleContainer.style.left = `${elRect.left}px`; 344 | toggleContainer.style.top = `${elRect.top}px`; 345 | toggleContainer.style.width = `${elRect.width}px`; 346 | }; 347 | 348 | // Get rid of any expanded toggle if the user scrolls 349 | window.document.addEventListener( 350 | "scroll", 351 | throttle(() => { 352 | closeToggle(); 353 | }, 50) 354 | ); 355 | 356 | // Handle positioning of the toggle 357 | window.addEventListener( 358 | "resize", 359 | throttle(() => { 360 | positionToggle(); 361 | }, 50) 362 | ); 363 | positionToggle(); 364 | 365 | // Process the click 366 | clickEl.onclick = () => { 367 | if (!tocShowing) { 368 | toggleContainer.classList.add("expanded"); 369 | toggleContents.style.height = null; 370 | tocShowing = true; 371 | } else { 372 | closeToggle(); 373 | } 374 | }; 375 | }; 376 | 377 | // Converts a sidebar from a menu back to a sidebar 378 | const convertToSidebar = () => { 379 | for (const child of el.children) { 380 | child.style.opacity = 1; 381 | child.style.overflow = null; 382 | } 383 | 384 | const placeholderEl = window.document.getElementById( 385 | placeholderDescriptor.id 386 | ); 387 | if (placeholderEl) { 388 | placeholderEl.remove(); 389 | } 390 | 391 | el.classList.remove("rollup"); 392 | }; 393 | 394 | if (isReaderMode()) { 395 | convertToMenu(); 396 | isVisible = false; 397 | } else { 398 | if (!isVisible) { 399 | // If the element is current not visible reveal if there are 400 | // no conflicts with overlay regions 401 | if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { 402 | convertToSidebar(); 403 | isVisible = true; 404 | } 405 | } else { 406 | // If the element is visible, hide it if it conflicts with overlay regions 407 | // and insert a placeholder toggle (or if we're in reader mode) 408 | if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { 409 | convertToMenu(); 410 | isVisible = false; 411 | } 412 | } 413 | } 414 | } 415 | }; 416 | }; 417 | 418 | // Find any conflicting margin elements and add margins to the 419 | // top to prevent overlap 420 | const marginChildren = window.document.querySelectorAll( 421 | ".column-margin.column-container > * " 422 | ); 423 | let lastBottom = 0; 424 | for (const marginChild of marginChildren) { 425 | const top = marginChild.getBoundingClientRect().top; 426 | if (top < lastBottom) { 427 | const margin = lastBottom - top; 428 | marginChild.style.marginTop = `${margin}px`; 429 | } 430 | const styles = window.getComputedStyle(marginChild); 431 | const marginTop = parseFloat(styles["marginTop"]); 432 | 433 | lastBottom = top + marginChild.getBoundingClientRect().height + marginTop; 434 | } 435 | 436 | // Manage the visibility of the toc and the sidebar 437 | const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { 438 | id: "quarto-toc-toggle", 439 | titleSelector: "#toc-title", 440 | dismissOnClick: true, 441 | }); 442 | const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { 443 | id: "quarto-sidebarnav-toggle", 444 | titleSelector: ".title", 445 | dismissOnClick: false, 446 | }); 447 | let tocLeftScrollVisibility; 448 | if (leftTocEl) { 449 | tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { 450 | id: "quarto-lefttoc-toggle", 451 | titleSelector: "#toc-title", 452 | dismissOnClick: true, 453 | }); 454 | } 455 | 456 | // Find the first element that uses formatting in special columns 457 | const conflictingEls = window.document.body.querySelectorAll( 458 | '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' 459 | ); 460 | 461 | // Filter all the possibly conflicting elements into ones 462 | // the do conflict on the left or ride side 463 | const arrConflictingEls = Array.from(conflictingEls); 464 | const leftSideConflictEls = arrConflictingEls.filter((el) => { 465 | if (el.tagName === "ASIDE") { 466 | return false; 467 | } 468 | return Array.from(el.classList).find((className) => { 469 | return ( 470 | className !== "column-body" && 471 | className.startsWith("column-") && 472 | !className.endsWith("right") && 473 | !className.endsWith("container") && 474 | className !== "column-margin" 475 | ); 476 | }); 477 | }); 478 | const rightSideConflictEls = arrConflictingEls.filter((el) => { 479 | if (el.tagName === "ASIDE") { 480 | return true; 481 | } 482 | 483 | const hasMarginCaption = Array.from(el.classList).find((className) => { 484 | return className == "margin-caption"; 485 | }); 486 | if (hasMarginCaption) { 487 | return true; 488 | } 489 | 490 | return Array.from(el.classList).find((className) => { 491 | return ( 492 | className !== "column-body" && 493 | !className.endsWith("container") && 494 | className.startsWith("column-") && 495 | !className.endsWith("left") 496 | ); 497 | }); 498 | }); 499 | 500 | const kOverlapPaddingSize = 10; 501 | function toRegions(els) { 502 | return els.map((el) => { 503 | const top = 504 | el.getBoundingClientRect().top + 505 | document.documentElement.scrollTop - 506 | kOverlapPaddingSize; 507 | return { 508 | top, 509 | bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, 510 | }; 511 | }); 512 | } 513 | 514 | const hideOverlappedSidebars = () => { 515 | marginScrollVisibility(toRegions(rightSideConflictEls)); 516 | sidebarScrollVisiblity(toRegions(leftSideConflictEls)); 517 | if (tocLeftScrollVisibility) { 518 | tocLeftScrollVisibility(toRegions(leftSideConflictEls)); 519 | } 520 | }; 521 | 522 | window.quartoToggleReader = () => { 523 | // Applies a slow class (or removes it) 524 | // to update the transition speed 525 | const slowTransition = (slow) => { 526 | const manageTransition = (id, slow) => { 527 | const el = document.getElementById(id); 528 | if (el) { 529 | if (slow) { 530 | el.classList.add("slow"); 531 | } else { 532 | el.classList.remove("slow"); 533 | } 534 | } 535 | }; 536 | 537 | manageTransition("TOC", slow); 538 | manageTransition("quarto-sidebar", slow); 539 | }; 540 | 541 | const readerMode = !isReaderMode(); 542 | setReaderModeValue(readerMode); 543 | 544 | // If we're entering reader mode, slow the transition 545 | if (readerMode) { 546 | slowTransition(readerMode); 547 | } 548 | highlightReaderToggle(readerMode); 549 | hideOverlappedSidebars(); 550 | 551 | // If we're exiting reader mode, restore the non-slow transition 552 | if (!readerMode) { 553 | slowTransition(!readerMode); 554 | } 555 | }; 556 | 557 | const highlightReaderToggle = (readerMode) => { 558 | const els = document.querySelectorAll(".quarto-reader-toggle"); 559 | if (els) { 560 | els.forEach((el) => { 561 | if (readerMode) { 562 | el.classList.add("reader"); 563 | } else { 564 | el.classList.remove("reader"); 565 | } 566 | }); 567 | } 568 | }; 569 | 570 | const setReaderModeValue = (val) => { 571 | if (window.location.protocol !== "file:") { 572 | window.localStorage.setItem("quarto-reader-mode", val); 573 | } else { 574 | localReaderMode = val; 575 | } 576 | }; 577 | 578 | const isReaderMode = () => { 579 | if (window.location.protocol !== "file:") { 580 | return window.localStorage.getItem("quarto-reader-mode") === "true"; 581 | } else { 582 | return localReaderMode; 583 | } 584 | }; 585 | let localReaderMode = null; 586 | 587 | // Walk the TOC and collapse/expand nodes 588 | // Nodes are expanded if: 589 | // - they are top level 590 | // - they have children that are 'active' links 591 | // - they are directly below an link that is 'active' 592 | const walk = (el, depth) => { 593 | // Tick depth when we enter a UL 594 | if (el.tagName === "UL") { 595 | depth = depth + 1; 596 | } 597 | 598 | // It this is active link 599 | let isActiveNode = false; 600 | if (el.tagName === "A" && el.classList.contains("active")) { 601 | isActiveNode = true; 602 | } 603 | 604 | // See if there is an active child to this element 605 | let hasActiveChild = false; 606 | for (child of el.children) { 607 | hasActiveChild = walk(child, depth) || hasActiveChild; 608 | } 609 | 610 | // Process the collapse state if this is an UL 611 | if (el.tagName === "UL") { 612 | if (depth === 1 || hasActiveChild || prevSiblingIsActiveLink(el)) { 613 | el.classList.remove("collapse"); 614 | } else { 615 | el.classList.add("collapse"); 616 | } 617 | 618 | // untick depth when we leave a UL 619 | depth = depth - 1; 620 | } 621 | return hasActiveChild || isActiveNode; 622 | }; 623 | 624 | // walk the TOC and expand / collapse any items that should be shown 625 | 626 | if (tocEl) { 627 | walk(tocEl, 0); 628 | updateActiveLink(); 629 | } 630 | 631 | // Throttle the scroll event and walk peridiocally 632 | window.document.addEventListener( 633 | "scroll", 634 | throttle(() => { 635 | if (tocEl) { 636 | updateActiveLink(); 637 | walk(tocEl, 0); 638 | } 639 | if (!isReaderMode()) { 640 | hideOverlappedSidebars(); 641 | } 642 | }, 5) 643 | ); 644 | window.addEventListener( 645 | "resize", 646 | throttle(() => { 647 | if (!isReaderMode()) { 648 | hideOverlappedSidebars(); 649 | } 650 | }, 10) 651 | ); 652 | hideOverlappedSidebars(); 653 | highlightReaderToggle(isReaderMode()); 654 | }); 655 | 656 | // grouped tabsets 657 | window.addEventListener("pageshow", (_event) => { 658 | function getTabSettings() { 659 | const data = localStorage.getItem("quarto-persistent-tabsets-data"); 660 | if (!data) { 661 | localStorage.setItem("quarto-persistent-tabsets-data", "{}"); 662 | return {}; 663 | } 664 | if (data) { 665 | return JSON.parse(data); 666 | } 667 | } 668 | 669 | function setTabSettings(data) { 670 | localStorage.setItem( 671 | "quarto-persistent-tabsets-data", 672 | JSON.stringify(data) 673 | ); 674 | } 675 | 676 | function setTabState(groupName, groupValue) { 677 | const data = getTabSettings(); 678 | data[groupName] = groupValue; 679 | setTabSettings(data); 680 | } 681 | 682 | function toggleTab(tab, active) { 683 | const tabPanelId = tab.getAttribute("aria-controls"); 684 | const tabPanel = document.getElementById(tabPanelId); 685 | if (active) { 686 | tab.classList.add("active"); 687 | tabPanel.classList.add("active"); 688 | } else { 689 | tab.classList.remove("active"); 690 | tabPanel.classList.remove("active"); 691 | } 692 | } 693 | 694 | function toggleAll(selectedGroup, selectorsToSync) { 695 | for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { 696 | const active = selectedGroup === thisGroup; 697 | for (const tab of tabs) { 698 | toggleTab(tab, active); 699 | } 700 | } 701 | } 702 | 703 | function findSelectorsToSyncByLanguage() { 704 | const result = {}; 705 | const tabs = Array.from( 706 | document.querySelectorAll(`div[data-group] a[id^='tabset-']`) 707 | ); 708 | for (const item of tabs) { 709 | const div = item.parentElement.parentElement.parentElement; 710 | const group = div.getAttribute("data-group"); 711 | if (!result[group]) { 712 | result[group] = {}; 713 | } 714 | const selectorsToSync = result[group]; 715 | const value = item.innerHTML; 716 | if (!selectorsToSync[value]) { 717 | selectorsToSync[value] = []; 718 | } 719 | selectorsToSync[value].push(item); 720 | } 721 | return result; 722 | } 723 | 724 | function setupSelectorSync() { 725 | const selectorsToSync = findSelectorsToSyncByLanguage(); 726 | Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { 727 | Object.entries(tabSetsByValue).forEach(([value, items]) => { 728 | items.forEach((item) => { 729 | item.addEventListener("click", (_event) => { 730 | setTabState(group, value); 731 | toggleAll(value, selectorsToSync[group]); 732 | }); 733 | }); 734 | }); 735 | }); 736 | return selectorsToSync; 737 | } 738 | 739 | const selectorsToSync = setupSelectorSync(); 740 | for (const [group, selectedName] of Object.entries(getTabSettings())) { 741 | const selectors = selectorsToSync[group]; 742 | // it's possible that stale state gives us empty selections, so we explicitly check here. 743 | if (selectors) { 744 | toggleAll(selectedName, selectors); 745 | } 746 | } 747 | }); 748 | 749 | function throttle(func, wait) { 750 | let waiting = false; 751 | return function () { 752 | if (!waiting) { 753 | func.apply(this, arguments); 754 | waiting = true; 755 | setTimeout(function () { 756 | waiting = false; 757 | }, wait); 758 | } 759 | }; 760 | } 761 | -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/quarto-html/tippy.css: -------------------------------------------------------------------------------- 1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/Rpg_files/libs/quarto-html/tippy.umd.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='',F})); 2 | 3 | -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/base_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/base_r.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/cran.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/cran.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/import.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/import_mistake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/import_mistake.png -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/memes.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/memes.mp4 -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/project.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | -------------------------------------------------------------------------------- /R Programlamaya Giriş - 13 Kasım 2022/rstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/R Programlamaya Giriş - 13 Kasım 2022/rstudio.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LearnR 2 | 13 Kasım - 19 Aralık 2022 tarihleri arasında ESTÜ Veri Bilimi Kulübü ([@estuveribilimi](https://github.com/estuveribilimi)) ve Eskisehir R Users ([@EskisehirRUsers](https://github.com/EskisehirRUsers)) ortaklığında gerçekleştirilen R eğitimi öğrenme kaynaklarını içerir. 3 | 4 | ## Eğitim programı: 5 | 6 | 1. R Programlamaya Giriş - 13 Kasım Pazar, 20:00-22:00 - [Kayıt :clapper:](https://www.youtube.com/watch?v=Q96d0heoMrw) ([@mcavs](https://github.com/mcavs)) 7 | 2. {dplyr} ile Veri Manipülasyonu - 26 Kasım Cumartesi, 20:00 - 22:00 - [Kayıt :clapper:](https://youtu.be/pfy9s6U8oMk) ([@mcavs](https://github.com/mcavs)) 8 | 3. {ggplot} ile Veri Görselleştirme - 17 Aralık Cumartesi - [Materyal :file_folder:](https://bookdown.org/ugurdar/rileverigorsellestirme/) ([@ugurdar](https://github.com/ugurdar)) 9 | 4. Shiny ile Arayüz Tasarımı - 19 Aralık Pazartesi [Materyal :file_folder:](https://github.com/ugurdar/ShinyileWebArayuz) ([@ugurdar](https://github.com/ugurdar)) 10 | 11 | 12 | ## Eğitim Platformu 13 | 14 | Yukarıdaki programda belirtilen gün ve saatlerde Zoom üzerinden canlı olarak yapılacaktır. Zoom oturumuna erişim için aşağıdaki bağlantıyı kullanabilirsiniz: 15 | 16 | Zoom: [https://t.co/NFvOIVoQiw](https://t.co/NFvOIVoQiw) 17 | 18 | Meeting ID: 970 3746 8167 19 | 20 | Passcode: 576960 21 | 22 | 23 | ## Eğitim süresince kullanılan kaynaklara nasıl ulaşabilirim? 24 | 25 | 1. Yukarıda yer alan yeşil renkli `<>Code` butonuna tıklayınız. 26 | 27 | 2. Açılan pencerede en altta bulunan `Download ZIP` butonuyla tüm dosyaları indiriniz. 28 | 29 | 3. Ders materyallerine erişmek için indirdiğiniz dosyalar arasında yer alan `.html` uzantılı dosyayı açınız. 30 | 31 | 32 | ## Teşekkür 33 | 34 | Organizasyon için ESTÜ Veri Bilimi Kulübü ([@estuveribilimi](https://github.com/estuveribilimi))'nden [@Gizemaltun](https://github.com/Gizemaltun), [@seymagnn](https://github.com/seymagnn) ve [@zeynepszr](https://github.com/zeynepszr)'e teşekkürler! 35 | 36 | 37 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "" 3 | author: "Mustafa Çavuş, Ph.D." 4 | format: html 5 | editor: visual 6 | --- 7 | 8 | ![](banner.png) 9 | 10 | # Giriş 11 | 12 |
Veri görselleştirme, analiz etme ve modelleme gibi temel uygulamaların **en uzun** ve **zorlu süreci**, yapılandırılmış ya da yapılandırılmamış veriyi hazır hale getirmek için gerekli (ön) işlemlerin gerçekleştirilmesinden oluşan **veri (ön) işleme sürecidir**. 13 | 14 | Bu süreçte, farklı veri kaynaklarından elde edilen düzenli olmayan, yapılandırılmamış veri üzerinde yapılması gereken işlemler, veri ön işlemleri; düzenli, yapılandırılmış veriler üzerinde bir sonraki adıma hazır hali getirmek üzere yapılan işlemler ise veri işlemleri olarak adlandırılır. 15 | 16 | Tüm bu işlemler, temel (*base*) R'da yer alan fonksiyonlar yardımıyla gerçekleştirilebilir. Ancak bu fonksiyonların daha kullanışlı versiyonları, R kullanıcılarının **alet seti** olarak da betimlenen, `{dplyr}` paketinde sunulmaktadır. Bu eğitimde, öncelikle düzenli (*tidy*) veri yapısı tanıtılacak ve sonrasında ise veri (ön) işleme adımlarında kullanılan `{dplyr}` ve `{tidyr}` fonksiyonlarının temel işlevleri ve uygulamaları ele alınacaktır. 17 | 18 | 19 | # 1. Düzenli (*Tidy*) Veri Yapısı 20 | 21 |
Tidy veri seti yapısında, her bir sütuna bir değişkeni, her bir satıra ise bir gözlem şeklinde yerleştirilmiştir. 22 | 23 | ![](tidy_veri.png){fig-align="center"} 24 | 25 | Yukarıdaki tidy veri yapısında her bir hücre, bir gözlem birimini temsil eder. Bu tür yapıdaki oluşturulan ve/veya kullanılan bir veri seti üzerinde bir çok karmaşık sorgu işlemini yapabilmek için R'da kullanışlı paketler ve fonksiyonlar bulunmaktadır. 26 | 27 | # 2. Veri Manipülasyonu 28 | 29 |
Veri manipülasyonu (işleme), veri setini analiz için hazırladığımız bir süreçtir. Veriyi ayıklama (filtreleme), özetleme, yeni değişkenler oluşturma gibi adımlar içerir. 30 | 31 | # 3. `{dplyr}` paketi 32 | 33 |
`{dplyr}` paketi tidy veri yapısı üzerinde işlem yapabilmek için kullanışlı fonksiyonları içeren bir pakettir. R'da yer alan temel fonksiyonlara göre daha hızlı ve efektif şekilde çalışırlar. Veri görselleştirme başta olmak üzere, bir çok paket içeren `{tidyverse}` meta-paket ailesinin bir parçasıdır. Bu özellik, `{dplyr}` paketinin diğer paketler ile uyum içerisinde çalışabilmeyi sağlar. 34 | 35 | | temel R | `{dplyr}` | 36 | |------------------------------------------------|---------------| 37 | | `df[c("x", "y")]` veya `subset()` | `select()` | 38 | | `df[which(x), , drop = FALSE]` veya `subset()` | `filter()` | 39 | | `df[order(x), , drop = FALSE]` | `arrange()` | 40 | | `mean(df$x), tapply(), aggregate(), by()` | `summarise()` | 41 | | `df$z <- df$x + df$y` veya `transform()` | `mutate()` | 42 | 43 | : Tablo 1: Bazı `{dplyr}` fonksiyonlarının temel R'daki karşılıkları 44 | 45 | 46 | # 4. `{dplyr}` ve SQL 47 | 48 |
SQL veri analizi için kullanılan en eski dillerden biridir. Ancak SQL veri analizi yapmak için değil, verileri sorgulamak ve özetlemek için tasarlanmıştır. SQL, çok sayıda değişken üzerinde veri analiz sürecinde ihtiyaç duyulan tüm işlemleri yapmak için elverişli değildir. `{dplyr}`, `{numpy}` ve `{pandas}` gibi paketler bu konuda daha kullanışlıdırlar. Yine de, R, Python, SAS gibi modern veri analizi için kullanılan programlama dilleri ve yazılımları, SQL komutlarını destekler. 49 | 50 | `{dplyr}` paketinin sağladığı fonksiyonların karşılık geldiği SQL fonksiyonları Tablo 1'de verilmiştir. 51 | 52 | | `{dplyr}` | SQL | 53 | |--------------|----------------| 54 | | `select()` | `SELECT` | 55 | | `filter()` | `WHERE` | 56 | | `group_by()` | `GROUP BY` | 57 | | `arrange()` | `ORDER BY` | 58 | | `join()` | `JOIN` | 59 | | `mutate()` | `COLUMN ALIAS` | 60 | 61 | : Tablo 1: `{dplyr}` ve SQL fonksiyonlarının eşdeğerleri {#tbl-letters} 62 | 63 | 64 | # 5. Temel `{dplyr}` fonksiyonları 65 | 66 |
`summarise()`, `filter()`, `select()`, ve `mutate()` başta olmak üzere bir çok fonksiyon sunmaktadır. Bu bölümde en sık kullanılan bu dört fonksiyonu ele alacağız. 67 | 68 | Öncelikle `{dplyr}` paketini yükleyip, çağıralım: 69 | 70 | ```{r, warning=FALSE, message=FALSE} 71 | install.packages("dplyr") 72 | library(dplyr) 73 | ``` 74 | 75 | 76 | ## 5.1. `select()` fonksiyonu 77 | 78 |
Veri setinde istenilen sütunları (değişkenleri) seçmek için kullanılır. 79 | 80 | ![](select.png) 81 | 82 |
Kaggle'da yer alan 1993 yılından günümüze kadar oynanan tüm uluslararası futbol maçlarına ilişkin değişkenleri içeren veri setini kullanalım. Verisetini bağlantı üzerinden indirebilirsiniz: [https://www.kaggle.com/datasets/brenda89/fifa-world-cup-2022]() 83 | 84 | ```{r, message=FALSE, warning=FALSE} 85 | library(readr) 86 | worldcup <- read_csv("international_matches.csv") 87 | ``` 88 | 89 | ```{r} 90 | str(worldcup) 91 | ``` 92 | 93 |
Bu veriseti, 1993 yılından bugüne kadar oynanan tüm uluslararası futbol maçlarına ilişkin bilgilerin yanı sıra, her takımın gücü, gerçek FIFA sıralamalarını, EA Sport FIFA video oyununa dayalı oyuncu güçlerine ilişkin verileri içermektedir. 94 | 95 | Veriseti üzerinde `select()` fonksiyonu ile bir kaç özetleme uygulaması yapalım. 96 | 97 | ```{r} 98 | select(worldcup, tournament) 99 | ``` 100 | 101 |
Bir veya bir kaç değişken dışında geri kalan tüm değişkenleri seçmek için aşağıdaki kod kullanılır. 102 | 103 | ```{r, error = FALSE} 104 | # city değişkeni (sütunu) hariç diğer değişkenlerin seçimi 105 | select(worldcup, -city) 106 | 107 | # city ve date değişkeni (sütunu) hariç diğer değişkenlerin seçimi 108 | select(worldcup, -c(date, city)) 109 | ``` 110 | 111 |
Bir metinsel ifade içeren tüm değişkenleri seçmek için `contains()` fonksiyonu kullanılabilir. 112 | 113 | ```{r} 114 | select(worldcup, contains("fifa")) 115 | ``` 116 | 117 |
Bir metinsel ifade ile başlayan tüm değişkenleri seçmek için `starts_with()` fonksiyonu, biten tüm değişkenleri seçmek için ise `ends_with()` fonksiyonu kullanılır. 118 | 119 | ```{r} 120 | select(worldcup, starts_with("home_team")) 121 | ``` 122 | 123 |
İlk üç sırada yer alan değişkenleri ya da belirli sıralarda yer alan değişkenleri seçmek için ise yol tercih edilebilir. 124 | 125 | ```{r} 126 | # İlk üç sıradaki değişkeni seçme işlemi 127 | select(worldcup, 1:3) 128 | 129 | # 2, 3, ve 7.sıralardaki değişkenleri seçme işlemi 130 | select(worldcup, c(2, 3, 7)) 131 | ``` 132 | 133 | ## 5.2. `filter()` fonksiyonu 134 | 135 |
Veri setinde istenilen ya da belirli koşulları sağlayan satırları (gözlem değerleri) seçmek, filtrelemek için kullanılır. 136 | 137 | ![](filter.png) 138 | 139 | Veriseti üzerinde `filter()` fonksiyonu ile bir kaç özetleme uygulaması yapalım. 140 | 141 | ```{r} 142 | # Türkiye'nin ev sahibi olarak oynadığı maçları filtreleme işlemi 143 | filter(worldcup, home_team == "Turkey") 144 | 145 | # Ev sahibi takımın üçten fazla gol attığı maçları filtreleme işlemi 146 | filter(worldcup, home_team_score > 3) 147 | ``` 148 | 149 |
Birden fazla koşul içeren filtreleme işlemi gerçekleştirmek için **ve (`&`), veya (`|`), değil (`!=`)** gibi mantıksal operatörler kullanılabilir. 150 | 151 | ```{r} 152 | # Türkiye'nin ev sahibi olarak oynadığı ve üçten fazla gol attığı maçları 153 | # filtreleme işlemi 154 | filter(worldcup, home_team == "Turkey" & home_team_score > 3) 155 | ``` 156 | 157 |
Eksik değerleri (NA: Non-available) filtreleyerek işlemlere devam etmek için `filter()` fonksiyonu içerisinde `is.na()` fonksiyonu ve değil mantıksal operatörü bir arada kullanılabilir. 158 | 159 | ```{r} 160 | filter(worldcup, !is.na(home_team_goalkeeper_score)) 161 | ``` 162 | 163 |
Görüldüğü gibi kaleci skoru 2004 yılı öncesinde oynanan maçlar için eksik gözlem değerleri içeren bir değişkendir. 164 | 165 | ## 5.3. `group_by()` fonksiyonu 166 | 167 | Veri setini istenilen bir değişkenin aldığı değerlere göre alt kümelere ayırmak için kullanılır. 168 | 169 | ![](group_by.png) 170 | 171 |
Verisetini `group_by()` fonksiyonu ile maçları ev sahibi takım ülkelerinin bulundukları kıtalara göre alt kümelere (gruplara) ayıralım. 172 | 173 | ```{r} 174 | group_by(worldcup, home_team_continent) 175 | ``` 176 | 177 | ## 5.4. `summarise()` fonksiyonu 178 | 179 |
Değişkenlerin ortalama, varyans vb. istatistiklerini hesaplayarak, veri setini özetlemek için kullanılır. 180 | 181 | ![](summarise.png) 182 | 183 | Veriseti üzerinde `summary()` fonksiyonu ile bir kaç özetleme uygulaması yapalım. 184 | 185 | ```{r} 186 | # Ev sahibi takımların gol ortalaması 187 | summarise(worldcup, mean(home_team_score)) 188 | 189 | # Deplasman takımlarının gol ortalaması 190 | summarise(worldcup, mean(away_team_score)) 191 | ``` 192 | 193 | Bu işlemleri `{dplyr}` fonksiyonları kullanmadan da yapabilirdik. 194 | 195 | ```{r} 196 | # Ev sahibi takımların gol ortalaması 197 | mean(worldcup$home_team_score) 198 | 199 | # Deplasman takımlarının gol ortalaması 200 | mean(worldcup$away_team_score) 201 | ``` 202 | 203 | 204 |
Bu işlemler sırasında eğer eksik veriler (NA) nedeniyle bir hata alırsanız, fonksiyon içerisinde eksik değerlerin göz ardı edilmesi için `na.rm` argümanını kullanabilirsiniz. 205 | 206 | ```{r} 207 | mean(worldcup$home_team_score, na.rm = TRUE) 208 | ``` 209 | 210 | 211 | ## 5.5. `mutate()` fonksiyonu 212 | 213 |
Veri setinde yer alan sütunları (değişkenleri), aritmetik ve ilişkisel operatörler yardımıyla, yeni değişken(ler) oluşturmak için kullanılır. 214 | 215 | ![](mutate.png) 216 | 217 | 218 |
Veriseti üzerinde `mutate()` fonksiyonu ile ev sahibi takımların ortalama defans skoruna oranla kaç gol yediklerini gösteren yeni bir değişken (sütun) oluşturalım. 219 | 220 | ```{r} 221 | worldcup2 <- mutate(worldcup, 222 | defans_skor_oranı = away_team_score / home_team_mean_defense_score) 223 | 224 | select(worldcup2, c("home_team", "away_team", "defans_skor_oranı")) 225 | 226 | filter(worldcup2, !is.na(defans_skor_oranı)) 227 | ``` 228 | 229 |
Görüldüğü gibi `{dplyr}` fonksiyonları bir çok sorguyu ayrı ayrı yapmamıza imkan veriyor ancak bu sorguları birleştirmeden anlamlı bir bilgiye ulaşmak kolay olmayabiliyor. Bunun için `{dplyr}` operatörlerinden faydalanacağız. 230 | 231 | 232 | ## 5.6. `arrange()` fonksiyonu 233 | 234 |
Veri setinde yer alan gözlemleri (satırları) istenilen bir değişkenin değerlerine göre artan ya da azalan düzende sıralamak için kullanılır. 235 | 236 | ![](arrange.png) 237 | 238 | Veriseti üzerinde `arrange()` fonksiyonu ile bir kaç özetleme uygulaması yapalım. 239 | 240 | ```{r} 241 | arrange(worldcup, home_team_fifa_rank) 242 | ``` 243 | 244 |
Bu fonksiyon istenilen bir değişkenin (sütunun) değerlerine göre tüm gözlem değerlerini (satırları) artan şekilde (en düşük değerden en yüksek değere doğru) sıralar. Tam tersi şekilde sıralamak için `desc()` fonksiyonu kullanılır. 245 | 246 | ```{r} 247 | arrange(worldcup, desc(home_team_fifa_rank)) 248 | ``` 249 | 250 |
Veriseti maçların oynanma tarihlerine göre geçmişten günümüze doğru sıralanmıştır, bu sıralamayı da tersine çevirebiliriz. 251 | 252 | ```{r} 253 | arrange(worldcup, desc(date)) 254 | ``` 255 | 256 | # 6. Birleştirme fonksiyonları 257 | 258 |
Data frame, tibble vb. yapıdaki iki veri yapısını bir ya da daha fazla referans değişken yardımıyla birleştirme işlemleridir. 259 | 260 | ![](join.png) 261 | 262 |
`worldcup` veriseti üzerinde birleştirme uygulamaları yapabilmek için verisetinden iki ayrı veriseti oluşturalım. Bunun için öncelikle bir referens değişken ekleyelim. 263 | 264 | ```{r} 265 | worldcup3 <- mutate(worldcup, id = 1:dim(worldcup)[1]) 266 | 267 | select(worldcup3, c("id", "date", "home_team", "away_team")) 268 | ``` 269 | 270 |
Görüldüğü gibi artık `id` isimli bir referans değişkenine sahip `worldcup3` isminde yeni bir veriseti oluşturduk. Bunu iki ayrı alt kümeye bölelim. 271 | 272 | ```{r} 273 | # worldcup3 verisetinde yer alan 20001-20005 satırlarındaki gözlem değerlerinin 274 | # id, date, home_team, away_team değişkenlerinden oluşan bir veriseti oluşturalım. 275 | wc1 <- select(worldcup3[20001:20005, ], c("id", "date","home_team", "away_team")) 276 | 277 | # worldcup3 verisetinde yer alan 20003-20007 satırlarındaki gözlem değerlerinin 278 | # id, home_team_score, away_team_score değişkenlerinden oluşan bir veriseti oluşturalım. 279 | wc2 <- select(worldcup3[20003:20007, ], c("id", "home_team_score", "away_team_score")) 280 | 281 | wc1 282 | 283 | wc2 284 | ``` 285 | 286 |
Oluşan iki yeni verisetinde bazı gözlem değerlerinin aynı olduklarını `id` değişkeni üzerinden görebiliriz. İzleyen bölümlerde birleştirme uygulamalarını gerçekleştirebiliriz. 287 | 288 | 289 | ## 6.1. `inner_join()` fonksiyonu 290 | 291 |
İki data frame'de ortak olarak yer alan gözlem değerleri korunur. Başka bir deyişle, bir gözlem değeri data frame'lerden her ikisinde de yer alması durumunda birleştirilmiş data frame'e eklenir. 292 | 293 | ![](inner_join.png) 294 | 295 |
`wc1` ve `wc2` verisetlerini `id` değişkenini referans olarak kullanıp, `inner_join()` fonksiyonu ile birleştirelim. 296 | 297 | ```{r} 298 | inner_join(wc1, wc2, by = "id") 299 | ``` 300 | 301 |
Yukarıdaki kodu `by` argümanı kullanmadan da çalıştırabilirdik. R, referans değişkeni otomatik olarak bulabilir. Ancak birden fazla referans değişken olmaya aday değişken içeren verisetleri üzerinden çalışırken bu özellik hata yapmamıza, neden olabilir. Bu nedenle `by` argümanını kullanmak önemlidir. 302 | 303 | 304 | ## 6.2. `full_join()` fonksiyonu 305 | 306 |
İki data frame'de yer alan tüm gözlem değerleri eşleşmeler önemli olmaksızın korunur. Başka bir deyişle, bir gözlem değeri data frame'lerden yalnızca birinde yer alsa bile birleştirilmiş data frame'e eklenir. 307 | 308 | ![](full_join.png) 309 | 310 |
`wc1` ve `wc2` verisetlerini `id` değişkenini referans olarak kullanıp, `full_join()` fonksiyonu ile birleştirelim. 311 | 312 | ```{r} 313 | full_join(wc1, wc2, by = "id") 314 | ``` 315 | 316 |
Burada gerçekleşen birleştirme işlemi sonrasında her iki verisetinde yer almayan değerlerin eksik değerler (NA) olarak birleştirildiğine dikkat ediniz. 317 | 318 | 319 | ## 6.3. `left_join()` fonksiyonu 320 | 321 |
Solda yer alan data frame'deki tüm gözlem değerleri, sağda yer alan data frame'de eşleşmeleri olmasa bile korunur. Eşleşmeyen gözlem değerlerinin aldığı değerler, birleştirilmiş data frame'de eksik gözlem (NA: non-available) olarak görülür. 322 | 323 | ![](left_join.png) 324 | 325 |
`wc1` ve `wc2` verisetlerini `id` değişkenini referans olarak kullanıp, `left_join()` fonksiyonu ile birleştirelim. 326 | 327 | ```{r} 328 | left_join(wc1, wc2, by = "id") 329 | ``` 330 | 331 |
`full_join()` birleştirme işlemine benzer şekilde burada da her iki verisetinde yer almayan değerlerin eksik değerler (NA) olarak birleştirildiğine dikkat ediniz. 332 | 333 | 334 | ## 6.4. `right_join()` fonksiyonu 335 | 336 |
Sağda yer alan data frame'deki tüm gözlem değerleri, solda yer alan data frame'de eşleşmeleri olmasa bile korunur. Eşleşmeyen gözlem değerlerinin aldığı değerler, birleştirilmiş data frame'de eksik gözlem (NA: non-available) olarak görülür. 337 | 338 | ![](right_join.png) 339 | 340 |
`wc1` ve `wc2` verisetlerini `id` değişkenini referans olarak kullanıp, `right`\_join()\` fonksiyonu ile birleştirelim. 341 | 342 | ```{r} 343 | right_join(wc1, wc2, by = "id") 344 | ``` 345 | 346 |
`full_join()` birleştirme işlemine benzer şekilde burada da her iki verisetinde yer almayan değerlerin eksik değerler (NA) olarak birleştirildiğine dikkat ediniz. 347 | 348 | 349 | # 7. `{dplyr}` operatörleri 350 | 351 | ## 7.1. Pipe (`%>%`) operatörü 352 | 353 |
Pipe (*Payp*) operatörü temel olarak, `x %>% f(x)` şeklinde soldaki veriseti üzerinde sağdaki fonksiyonda yer alan işlemi yapmak için kullanılır. 354 | 355 | ```{r} 356 | data <- c(3, 6, 9, 11, 4, 6) 357 | data %>% mean 358 | ``` 359 | 360 |
Temel işlevinin yanı sıra, uygulamada sıklıkla `{dplyr}` tipi fonksiyonları birbirine bağlamak için kullanılır. 361 | 362 |
Örneğin, `worldcup` verisetini kullanarak, 2000-2010 yılları arasına ev sahibi ve deplasman takımlarının ortalama gol sayılarını hesaplayalım. Bu işlem birkaç adımdan oluşur ve birden fazla `{dplyr}` fonksiyonu kullanılmasını gerektirir. 363 | 364 | ```{r} 365 | worldcup %>% 366 | filter(date < "2010-12-31" & date > "2000-01-01") %>% 367 | summarise(evSahibiTakımOrtalamaGol = mean(home_team_score), 368 | DeplasmanTakımıOrtalamaGol = mean(away_team_score)) 369 | ``` 370 | 371 |
Burada öncelikle ilgili tarihler arasında oynanan maçların filtrelendiğini ve sonrasında istenilen istatistiklerin hesaplanabildiğini unutmayınız. 372 | 373 |
Aynı uygulamayı, Türk Milli Takımı özelinde yapalım. Bu uygulamayı gerçekleştirebilmek için Türk Milli Takımı'nın oynadığı maçları belirlemek (filtrelemek) gerekiyor. Bunu ayrı bir `filter()` fonksiyonu kullanarak yapabiliriz. Ancak hem ev sahibi hem de deplasman takımı olarak maç oynayabileceğini unutmamak gerekir. 374 | 375 | ```{r} 376 | worldcup %>% 377 | filter(home_team == "Turkey" | away_team == "Turkey") %>% 378 | filter(date < "2010-12-31" & date > "2000-01-01") %>% 379 | summarise(evSahibiTakımOrtalamaGol = mean(home_team_score), 380 | DeplasmanTakımıOrtalamaGol = mean(away_team_score)) 381 | ``` 382 | 383 |
Türk ve Portekiz Milli Takımları özelinde 2010 yılı sonrasında ev sahibi olarak oynadıkları maçlarda hücum gücüne oranla buldukları gol oranını hesaplamak isteyelim. 384 | 385 | ```{r} 386 | worldcup %>% 387 | filter(date > "2010-01-01") %>% 388 | filter(home_team %in% c("Turkey", "Portugal")) %>% 389 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) 390 | ``` 391 | 392 |
Çıktıda yalnızca ilgilendiğimiz, `date`, `home_team`, `away_team`, ve `hücumGolOranı` değişkenlerini görmek istersek, `select()` fonksiyonunu kulllanabiliriz. 393 | 394 | ```{r} 395 | worldcup %>% 396 | filter(date > "2010-01-01") %>% 397 | filter(home_team %in% c("Turkey", "Portugal")) %>% 398 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) %>% 399 | select(date, home_team, away_team, hücumGolOranı) 400 | ``` 401 | 402 |
Eğer iki takımın yeni oluşturduğumuz değişken (`hücumGolOranı`) özelinde ortalamala ve varyanslarını hesaplamak istersek, `summarise()` fonksiyonunu da zincire ekleyebiliriz. Burada iki farklı takım için bu hesabı yapacağımız için öncelikle `group_by()` fonksiyonu ile gözlem değerlerini iki gruba ayırmamız gerektiğini unutmayınız. 403 | 404 | 405 | ```{r} 406 | worldcup %>% 407 | filter(date > "2010-01-01") %>% 408 | filter(home_team %in% c("Turkey", "Portugal")) %>% 409 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) %>% 410 | group_by(home_team) %>% 411 | summarise(ortalama = mean(hücumGolOranı), 412 | varyans = var(hücumGolOranı)) 413 | ``` 414 | 415 |
Eğer RStudio kullanıyorsanız, Ctrl + Shift + M kısayolu, MAC işletim sistemi kullanıyorsanız Cmd + Shift + M kısayolu ile pipe operatörünü yazabilirsiniz. 416 | 417 | 418 | ## 7.2. Yeni pipe (`|>`) operatörü 419 | 420 |
Pipe (`%>%`) operatörü ile gerçekleştirdiğimiz tüm işlemleri, yeni pipe (`|>`) operatörü ile de yapabiliriz. İkisi arasındaki fark, önceki derste değindiğimiz `data.frame` ve `tibble` veri yapılarının arasındaki farklara benzer *yazılımsal* iyileştirmelerdir. Bu farklara ilişkin detaylı bilgilere [buradan](https://www.r-bloggers.com/2021/05/the-new-r-pipe/) göz atabilirsiniz. 421 | 422 | ```{r} 423 | worldcup |> 424 | filter(date > "2010-01-01") |> 425 | filter(home_team %in% c("Turkey", "Portugal")) |> 426 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) |> 427 | group_by(home_team) |> 428 | summarise(ortalama = mean(hücumGolOranı), 429 | varyans = var(hücumGolOranı)) 430 | ``` 431 | 432 | 433 | # 8. Pivot fonksiyonları 434 | 435 |
Pivot fonksiyonları ileri veri işleme adımları için oldukça kullanışlıdırlar. `{dplyr}` paketi ile birlikte aynı meta-paket içerisinde yer alan `{tidyr}` paketinde yer almaktadırlar. 436 | 437 |
Bu fonksiyonları kullanabilmek için öncelikle `{tidyr}` paketinin yüklenmesi ve çalışma ortamına çağrılması gerekmektedir. 438 | 439 | ```{r, warning=FALSE, message=FALSE} 440 | install.packages("tidyr") 441 | library(tidyr) 442 | ``` 443 | 444 | 445 | ## 8.1. `pivot_longer()` fonksiyonu 446 | 447 |
`pivot_longer()` fonksiyonu, satır sayısını artırarak ve sütun sayısını azaltarak verisetini *uzatır*. 448 | 449 | ![](pivot_longer.png) 450 | 451 | 452 |
`worldcup` veriseti üzerinde özet bir tablo oluşturup, `pivot_longer()` fonksiyonunu kullanarak tabloyu uzatalım. 453 | 454 | ```{r} 455 | ozet_tablo <- worldcup %>% 456 | filter(date > "2010-01-01") %>% 457 | filter(home_team %in% c("Turkey", "Portugal", "Wales", "England", "Poland")) %>% 458 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) %>% 459 | group_by(home_team) %>% 460 | summarise(ortalama = mean(hücumGolOranı), 461 | varyans = var(hücumGolOranı)) 462 | 463 | pivot_longer(ozet_tablo, cols = c("ortalama", "varyans")) 464 | ``` 465 | 466 |
Burada oluşan uzatılmış tabloda `ortalama` ve `varyans` değişkenleri (sütunları), `name` adı altında yeni bir değişkenin değerlerine dönüşmüş ve karşılık gelen değerler ise `value` isminde bir değişken içerisinde yer almıştır. Bu işleme, veri görselleştirme, modelleme ve analiz işlemlerinde sıklıkla ihtiyaç duyulmaktadır. 467 | 468 | 469 | ## 8.2. `pivot_wider()` fonksiyonu 470 | 471 |
`pivot_wider()` fonskiyonu ise sütun sayısını artırarak ve satır sayısını azaltarak verisetini *genişletir*. 472 | 473 | ![](pivot_wider.png) 474 | 475 | 476 |
`worldcup` veriseti üzerinde özet bir tablo oluşturup, `pivot_wider()` fonksiyonunu kullanarak tabloyu genişletelim. 477 | 478 | ```{r} 479 | ozet_tablo <- worldcup %>% 480 | filter(date > "2010-01-01") %>% 481 | filter(home_team %in% c("Turkey", "Portugal", "Wales", "England", "Poland")) %>% 482 | mutate(hücumGolOranı = home_team_score / home_team_mean_offense_score) %>% 483 | group_by(home_team) %>% 484 | summarise(ortalama = mean(hücumGolOranı)) 485 | 486 | pivot_wider(ozet_tablo, 487 | names_from = home_team, 488 | values_from = ortalama) 489 | ``` 490 | 491 | 492 |
Burada oluşan genişletilmiş tabloda `home_team` değişkeninde yer alan gözlem değerlerinin her biri ayrı değişkene (sütuna) dönüşmüş ve karşılık gelen `ortalama` değişkeni değerleri de bu değişkenlerin gözlem değeri olmuşlardır. Burada oluşan sütun sayısı `names_from` argümanına eşitlenen değişkenin düzey (tekil gözlem) sayısına bağlıdır. 493 | 494 | 495 | # İletişim 496 | 497 | Mustafa Çavuş, Eskişehir Teknik Üniversitesi, İstatistik Bölümü 498 | 499 | 500 | E-posta: [mustafacavus@eskisehir.edu.tr](mustafacavus@eskisehir.edu.tr) 501 | 502 | LinkedIn: [https://www.linkedin.com/in/mustafacavusphd/](https://www.linkedin.com/in/mustafacavusphd/) 503 | 504 | Twitter: [https://twitter.com/mustafa__cavus](https://twitter.com/mustafa__cavus) 505 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/bootstrap/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/bootstrap/bootstrap-icons.woff -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/clipboard/clipboard.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * clipboard.js v2.0.10 3 | * https://clipboardjs.com/ 4 | * 5 | * Licensed MIT © Zeno Rocha 6 | */ 7 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); 9 | // @license-end -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/quarto-html/popper.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @popperjs/core v2.11.4 - MIT License 3 | */ 4 | 5 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W=0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); 6 | 7 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/quarto-html/quarto-syntax-highlighting.css: -------------------------------------------------------------------------------- 1 | /* quarto syntax highlight colors */ 2 | :root { 3 | --quarto-hl-ot-color: #003B4F; 4 | --quarto-hl-at-color: #657422; 5 | --quarto-hl-ss-color: #20794D; 6 | --quarto-hl-an-color: #5E5E5E; 7 | --quarto-hl-fu-color: #4758AB; 8 | --quarto-hl-st-color: #20794D; 9 | --quarto-hl-cf-color: #003B4F; 10 | --quarto-hl-op-color: #5E5E5E; 11 | --quarto-hl-er-color: #AD0000; 12 | --quarto-hl-bn-color: #AD0000; 13 | --quarto-hl-al-color: #AD0000; 14 | --quarto-hl-va-color: #111111; 15 | --quarto-hl-bu-color: inherit; 16 | --quarto-hl-ex-color: inherit; 17 | --quarto-hl-pp-color: #AD0000; 18 | --quarto-hl-in-color: #5E5E5E; 19 | --quarto-hl-vs-color: #20794D; 20 | --quarto-hl-wa-color: #5E5E5E; 21 | --quarto-hl-do-color: #5E5E5E; 22 | --quarto-hl-im-color: #00769E; 23 | --quarto-hl-ch-color: #20794D; 24 | --quarto-hl-dt-color: #AD0000; 25 | --quarto-hl-fl-color: #AD0000; 26 | --quarto-hl-co-color: #5E5E5E; 27 | --quarto-hl-cv-color: #5E5E5E; 28 | --quarto-hl-cn-color: #8f5902; 29 | --quarto-hl-sc-color: #5E5E5E; 30 | --quarto-hl-dv-color: #AD0000; 31 | --quarto-hl-kw-color: #003B4F; 32 | } 33 | 34 | /* other quarto variables */ 35 | :root { 36 | --quarto-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 37 | } 38 | 39 | pre > code.sourceCode > span { 40 | color: #003B4F; 41 | } 42 | 43 | code span { 44 | color: #003B4F; 45 | } 46 | 47 | code.sourceCode > span { 48 | color: #003B4F; 49 | } 50 | 51 | div.sourceCode, 52 | div.sourceCode pre.sourceCode { 53 | color: #003B4F; 54 | } 55 | 56 | code span.ot { 57 | color: #003B4F; 58 | } 59 | 60 | code span.at { 61 | color: #657422; 62 | } 63 | 64 | code span.ss { 65 | color: #20794D; 66 | } 67 | 68 | code span.an { 69 | color: #5E5E5E; 70 | } 71 | 72 | code span.fu { 73 | color: #4758AB; 74 | } 75 | 76 | code span.st { 77 | color: #20794D; 78 | } 79 | 80 | code span.cf { 81 | color: #003B4F; 82 | } 83 | 84 | code span.op { 85 | color: #5E5E5E; 86 | } 87 | 88 | code span.er { 89 | color: #AD0000; 90 | } 91 | 92 | code span.bn { 93 | color: #AD0000; 94 | } 95 | 96 | code span.al { 97 | color: #AD0000; 98 | } 99 | 100 | code span.va { 101 | color: #111111; 102 | } 103 | 104 | code span.pp { 105 | color: #AD0000; 106 | } 107 | 108 | code span.in { 109 | color: #5E5E5E; 110 | } 111 | 112 | code span.vs { 113 | color: #20794D; 114 | } 115 | 116 | code span.wa { 117 | color: #5E5E5E; 118 | font-style: italic; 119 | } 120 | 121 | code span.do { 122 | color: #5E5E5E; 123 | font-style: italic; 124 | } 125 | 126 | code span.im { 127 | color: #00769E; 128 | } 129 | 130 | code span.ch { 131 | color: #20794D; 132 | } 133 | 134 | code span.dt { 135 | color: #AD0000; 136 | } 137 | 138 | code span.fl { 139 | color: #AD0000; 140 | } 141 | 142 | code span.co { 143 | color: #5E5E5E; 144 | } 145 | 146 | code span.cv { 147 | color: #5E5E5E; 148 | font-style: italic; 149 | } 150 | 151 | code span.cn { 152 | color: #8f5902; 153 | } 154 | 155 | code span.sc { 156 | color: #5E5E5E; 157 | } 158 | 159 | code span.dv { 160 | color: #AD0000; 161 | } 162 | 163 | code span.kw { 164 | color: #003B4F; 165 | } 166 | 167 | .prevent-inlining { 168 | content: " { 17 | const sibling = el.previousElementSibling; 18 | if (sibling && sibling.tagName === "A") { 19 | return sibling.classList.contains("active"); 20 | } else { 21 | return false; 22 | } 23 | }; 24 | 25 | // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) 26 | function fireSlideEnter(e) { 27 | const event = window.document.createEvent("Event"); 28 | event.initEvent("slideenter", true, true); 29 | window.document.dispatchEvent(event); 30 | } 31 | const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); 32 | tabs.forEach((tab) => { 33 | tab.addEventListener("shown.bs.tab", fireSlideEnter); 34 | }); 35 | 36 | // Track scrolling and mark TOC links as active 37 | // get table of contents and sidebar (bail if we don't have at least one) 38 | const tocLinks = tocEl 39 | ? [...tocEl.querySelectorAll("a[data-scroll-target]")] 40 | : []; 41 | const makeActive = (link) => tocLinks[link].classList.add("active"); 42 | const removeActive = (link) => tocLinks[link].classList.remove("active"); 43 | const removeAllActive = () => 44 | [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); 45 | 46 | // activate the anchor for a section associated with this TOC entry 47 | tocLinks.forEach((link) => { 48 | link.addEventListener("click", () => { 49 | if (link.href.indexOf("#") !== -1) { 50 | const anchor = link.href.split("#")[1]; 51 | const heading = window.document.querySelector( 52 | `[data-anchor-id=${anchor}]` 53 | ); 54 | if (heading) { 55 | // Add the class 56 | heading.classList.add("reveal-anchorjs-link"); 57 | 58 | // function to show the anchor 59 | const handleMouseout = () => { 60 | heading.classList.remove("reveal-anchorjs-link"); 61 | heading.removeEventListener("mouseout", handleMouseout); 62 | }; 63 | 64 | // add a function to clear the anchor when the user mouses out of it 65 | heading.addEventListener("mouseout", handleMouseout); 66 | } 67 | } 68 | }); 69 | }); 70 | 71 | const sections = tocLinks.map((link) => { 72 | const target = link.getAttribute("data-scroll-target"); 73 | if (target.startsWith("#")) { 74 | return window.document.getElementById(decodeURI(`${target.slice(1)}`)); 75 | } else { 76 | return window.document.querySelector(decodeURI(`${target}`)); 77 | } 78 | }); 79 | 80 | const sectionMargin = 200; 81 | let currentActive = 0; 82 | // track whether we've initialized state the first time 83 | let init = false; 84 | 85 | const updateActiveLink = () => { 86 | // The index from bottom to top (e.g. reversed list) 87 | let sectionIndex = -1; 88 | if ( 89 | window.innerHeight + window.pageYOffset >= 90 | window.document.body.offsetHeight 91 | ) { 92 | sectionIndex = 0; 93 | } else { 94 | sectionIndex = [...sections].reverse().findIndex((section) => { 95 | if (section) { 96 | return window.pageYOffset >= section.offsetTop - sectionMargin; 97 | } else { 98 | return false; 99 | } 100 | }); 101 | } 102 | if (sectionIndex > -1) { 103 | const current = sections.length - sectionIndex - 1; 104 | if (current !== currentActive) { 105 | removeAllActive(); 106 | currentActive = current; 107 | makeActive(current); 108 | if (init) { 109 | window.dispatchEvent(sectionChanged); 110 | } 111 | init = true; 112 | } 113 | } 114 | }; 115 | 116 | const inHiddenRegion = (top, bottom, hiddenRegions) => { 117 | for (const region of hiddenRegions) { 118 | if (top <= region.bottom && bottom >= region.top) { 119 | return true; 120 | } 121 | } 122 | return false; 123 | }; 124 | 125 | const categorySelector = "header.quarto-title-block .quarto-category"; 126 | const activateCategories = (href) => { 127 | // Find any categories 128 | // Surround them with a link pointing back to: 129 | // #category=Authoring 130 | try { 131 | const categoryEls = window.document.querySelectorAll(categorySelector); 132 | for (const categoryEl of categoryEls) { 133 | const categoryText = categoryEl.textContent; 134 | if (categoryText) { 135 | const link = `${href}#category=${encodeURIComponent(categoryText)}`; 136 | const linkEl = window.document.createElement("a"); 137 | linkEl.setAttribute("href", link); 138 | for (const child of categoryEl.childNodes) { 139 | linkEl.append(child); 140 | } 141 | categoryEl.appendChild(linkEl); 142 | } 143 | } 144 | } catch { 145 | // Ignore errors 146 | } 147 | }; 148 | function hasTitleCategories() { 149 | return window.document.querySelector(categorySelector) !== null; 150 | } 151 | 152 | function offsetRelativeUrl(url) { 153 | const offset = getMeta("quarto:offset"); 154 | return offset ? offset + url : url; 155 | } 156 | 157 | function offsetAbsoluteUrl(url) { 158 | const offset = getMeta("quarto:offset"); 159 | const baseUrl = new URL(offset, window.location); 160 | 161 | const projRelativeUrl = url.replace(baseUrl, ""); 162 | if (projRelativeUrl.startsWith("/")) { 163 | return projRelativeUrl; 164 | } else { 165 | return "/" + projRelativeUrl; 166 | } 167 | } 168 | 169 | // read a meta tag value 170 | function getMeta(metaName) { 171 | const metas = window.document.getElementsByTagName("meta"); 172 | for (let i = 0; i < metas.length; i++) { 173 | if (metas[i].getAttribute("name") === metaName) { 174 | return metas[i].getAttribute("content"); 175 | } 176 | } 177 | return ""; 178 | } 179 | 180 | async function findAndActivateCategories() { 181 | const currentPagePath = offsetAbsoluteUrl(window.location.href); 182 | const response = await fetch(offsetRelativeUrl("listings.json")); 183 | if (response.status == 200) { 184 | return response.json().then(function (listingPaths) { 185 | const listingHrefs = []; 186 | for (const listingPath of listingPaths) { 187 | const pathWithoutLeadingSlash = listingPath.listing.substring(1); 188 | for (const item of listingPath.items) { 189 | if ( 190 | item === currentPagePath || 191 | item === currentPagePath + "index.html" 192 | ) { 193 | // Resolve this path against the offset to be sure 194 | // we already are using the correct path to the listing 195 | // (this adjusts the listing urls to be rooted against 196 | // whatever root the page is actually running against) 197 | const relative = offsetRelativeUrl(pathWithoutLeadingSlash); 198 | const baseUrl = window.location; 199 | const resolvedPath = new URL(relative, baseUrl); 200 | listingHrefs.push(resolvedPath.pathname); 201 | break; 202 | } 203 | } 204 | } 205 | 206 | // Look up the tree for a nearby linting and use that if we find one 207 | const nearestListing = findNearestParentListing( 208 | offsetAbsoluteUrl(window.location.pathname), 209 | listingHrefs 210 | ); 211 | if (nearestListing) { 212 | activateCategories(nearestListing); 213 | } else { 214 | // See if the referrer is a listing page for this item 215 | const referredRelativePath = offsetAbsoluteUrl(document.referrer); 216 | const referrerListing = listingHrefs.find((listingHref) => { 217 | const isListingReferrer = 218 | listingHref === referredRelativePath || 219 | listingHref === referredRelativePath + "index.html"; 220 | return isListingReferrer; 221 | }); 222 | 223 | if (referrerListing) { 224 | // Try to use the referrer if possible 225 | activateCategories(referrerListing); 226 | } else if (listingHrefs.length > 0) { 227 | // Otherwise, just fall back to the first listing 228 | activateCategories(listingHrefs[0]); 229 | } 230 | } 231 | }); 232 | } 233 | } 234 | if (hasTitleCategories()) { 235 | findAndActivateCategories(); 236 | } 237 | 238 | const findNearestParentListing = (href, listingHrefs) => { 239 | if (!href || !listingHrefs) { 240 | return undefined; 241 | } 242 | // Look up the tree for a nearby linting and use that if we find one 243 | const relativeParts = href.substring(1).split("/"); 244 | while (relativeParts.length > 0) { 245 | const path = relativeParts.join("/"); 246 | for (const listingHref of listingHrefs) { 247 | if (listingHref.startsWith(path)) { 248 | return listingHref; 249 | } 250 | } 251 | relativeParts.pop(); 252 | } 253 | 254 | return undefined; 255 | }; 256 | 257 | const manageSidebarVisiblity = (el, placeholderDescriptor) => { 258 | let isVisible = true; 259 | 260 | return (hiddenRegions) => { 261 | if (el === null) { 262 | return; 263 | } 264 | 265 | // Find the last element of the TOC 266 | const lastChildEl = el.lastElementChild; 267 | 268 | if (lastChildEl) { 269 | // Find the top and bottom o the element that is being managed 270 | const elTop = el.offsetTop; 271 | const elBottom = 272 | elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; 273 | 274 | // Converts the sidebar to a menu 275 | const convertToMenu = () => { 276 | for (const child of el.children) { 277 | child.style.opacity = 0; 278 | child.style.overflow = "hidden"; 279 | } 280 | 281 | const toggleContainer = window.document.createElement("div"); 282 | toggleContainer.style.width = "100%"; 283 | toggleContainer.classList.add("zindex-over-content"); 284 | toggleContainer.classList.add("quarto-sidebar-toggle"); 285 | toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom 286 | toggleContainer.id = placeholderDescriptor.id; 287 | toggleContainer.style.position = "fixed"; 288 | 289 | const toggleIcon = window.document.createElement("i"); 290 | toggleIcon.classList.add("quarto-sidebar-toggle-icon"); 291 | toggleIcon.classList.add("bi"); 292 | toggleIcon.classList.add("bi-caret-down-fill"); 293 | 294 | const toggleTitle = window.document.createElement("div"); 295 | const titleEl = window.document.body.querySelector( 296 | placeholderDescriptor.titleSelector 297 | ); 298 | if (titleEl) { 299 | toggleTitle.append(titleEl.innerText, toggleIcon); 300 | } 301 | toggleTitle.classList.add("zindex-over-content"); 302 | toggleTitle.classList.add("quarto-sidebar-toggle-title"); 303 | toggleContainer.append(toggleTitle); 304 | 305 | const toggleContents = window.document.createElement("div"); 306 | toggleContents.classList = el.classList; 307 | toggleContents.classList.add("zindex-over-content"); 308 | toggleContents.classList.add("quarto-sidebar-toggle-contents"); 309 | for (const child of el.children) { 310 | if (child.id === "toc-title") { 311 | continue; 312 | } 313 | 314 | const clone = child.cloneNode(true); 315 | clone.style.opacity = 1; 316 | clone.style.display = null; 317 | toggleContents.append(clone); 318 | } 319 | toggleContents.style.height = "0px"; 320 | toggleContainer.append(toggleContents); 321 | el.parentElement.prepend(toggleContainer); 322 | 323 | // Process clicks 324 | let tocShowing = false; 325 | // Allow the caller to control whether this is dismissed 326 | // when it is clicked (e.g. sidebar navigation supports 327 | // opening and closing the nav tree, so don't dismiss on click) 328 | const clickEl = placeholderDescriptor.dismissOnClick 329 | ? toggleContainer 330 | : toggleTitle; 331 | 332 | const closeToggle = () => { 333 | if (tocShowing) { 334 | toggleContainer.classList.remove("expanded"); 335 | toggleContents.style.height = "0px"; 336 | tocShowing = false; 337 | } 338 | }; 339 | 340 | const positionToggle = () => { 341 | // position the element (top left of parent, same width as parent) 342 | const elRect = el.getBoundingClientRect(); 343 | toggleContainer.style.left = `${elRect.left}px`; 344 | toggleContainer.style.top = `${elRect.top}px`; 345 | toggleContainer.style.width = `${elRect.width}px`; 346 | }; 347 | 348 | // Get rid of any expanded toggle if the user scrolls 349 | window.document.addEventListener( 350 | "scroll", 351 | throttle(() => { 352 | closeToggle(); 353 | }, 50) 354 | ); 355 | 356 | // Handle positioning of the toggle 357 | window.addEventListener( 358 | "resize", 359 | throttle(() => { 360 | positionToggle(); 361 | }, 50) 362 | ); 363 | positionToggle(); 364 | 365 | // Process the click 366 | clickEl.onclick = () => { 367 | if (!tocShowing) { 368 | toggleContainer.classList.add("expanded"); 369 | toggleContents.style.height = null; 370 | tocShowing = true; 371 | } else { 372 | closeToggle(); 373 | } 374 | }; 375 | }; 376 | 377 | // Converts a sidebar from a menu back to a sidebar 378 | const convertToSidebar = () => { 379 | for (const child of el.children) { 380 | child.style.opacity = 1; 381 | child.style.overflow = null; 382 | } 383 | 384 | const placeholderEl = window.document.getElementById( 385 | placeholderDescriptor.id 386 | ); 387 | if (placeholderEl) { 388 | placeholderEl.remove(); 389 | } 390 | 391 | el.classList.remove("rollup"); 392 | }; 393 | 394 | if (isReaderMode()) { 395 | convertToMenu(); 396 | isVisible = false; 397 | } else { 398 | if (!isVisible) { 399 | // If the element is current not visible reveal if there are 400 | // no conflicts with overlay regions 401 | if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { 402 | convertToSidebar(); 403 | isVisible = true; 404 | } 405 | } else { 406 | // If the element is visible, hide it if it conflicts with overlay regions 407 | // and insert a placeholder toggle (or if we're in reader mode) 408 | if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { 409 | convertToMenu(); 410 | isVisible = false; 411 | } 412 | } 413 | } 414 | } 415 | }; 416 | }; 417 | 418 | // Find any conflicting margin elements and add margins to the 419 | // top to prevent overlap 420 | const marginChildren = window.document.querySelectorAll( 421 | ".column-margin.column-container > * " 422 | ); 423 | let lastBottom = 0; 424 | for (const marginChild of marginChildren) { 425 | const top = marginChild.getBoundingClientRect().top; 426 | if (top < lastBottom) { 427 | const margin = lastBottom - top; 428 | marginChild.style.marginTop = `${margin}px`; 429 | } 430 | const styles = window.getComputedStyle(marginChild); 431 | const marginTop = parseFloat(styles["marginTop"]); 432 | 433 | lastBottom = top + marginChild.getBoundingClientRect().height + marginTop; 434 | } 435 | 436 | // Manage the visibility of the toc and the sidebar 437 | const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { 438 | id: "quarto-toc-toggle", 439 | titleSelector: "#toc-title", 440 | dismissOnClick: true, 441 | }); 442 | const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { 443 | id: "quarto-sidebarnav-toggle", 444 | titleSelector: ".title", 445 | dismissOnClick: false, 446 | }); 447 | let tocLeftScrollVisibility; 448 | if (leftTocEl) { 449 | tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { 450 | id: "quarto-lefttoc-toggle", 451 | titleSelector: "#toc-title", 452 | dismissOnClick: true, 453 | }); 454 | } 455 | 456 | // Find the first element that uses formatting in special columns 457 | const conflictingEls = window.document.body.querySelectorAll( 458 | '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' 459 | ); 460 | 461 | // Filter all the possibly conflicting elements into ones 462 | // the do conflict on the left or ride side 463 | const arrConflictingEls = Array.from(conflictingEls); 464 | const leftSideConflictEls = arrConflictingEls.filter((el) => { 465 | if (el.tagName === "ASIDE") { 466 | return false; 467 | } 468 | return Array.from(el.classList).find((className) => { 469 | return ( 470 | className !== "column-body" && 471 | className.startsWith("column-") && 472 | !className.endsWith("right") && 473 | !className.endsWith("container") && 474 | className !== "column-margin" 475 | ); 476 | }); 477 | }); 478 | const rightSideConflictEls = arrConflictingEls.filter((el) => { 479 | if (el.tagName === "ASIDE") { 480 | return true; 481 | } 482 | 483 | const hasMarginCaption = Array.from(el.classList).find((className) => { 484 | return className == "margin-caption"; 485 | }); 486 | if (hasMarginCaption) { 487 | return true; 488 | } 489 | 490 | return Array.from(el.classList).find((className) => { 491 | return ( 492 | className !== "column-body" && 493 | !className.endsWith("container") && 494 | className.startsWith("column-") && 495 | !className.endsWith("left") 496 | ); 497 | }); 498 | }); 499 | 500 | const kOverlapPaddingSize = 10; 501 | function toRegions(els) { 502 | return els.map((el) => { 503 | const top = 504 | el.getBoundingClientRect().top + 505 | document.documentElement.scrollTop - 506 | kOverlapPaddingSize; 507 | return { 508 | top, 509 | bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, 510 | }; 511 | }); 512 | } 513 | 514 | const hideOverlappedSidebars = () => { 515 | marginScrollVisibility(toRegions(rightSideConflictEls)); 516 | sidebarScrollVisiblity(toRegions(leftSideConflictEls)); 517 | if (tocLeftScrollVisibility) { 518 | tocLeftScrollVisibility(toRegions(leftSideConflictEls)); 519 | } 520 | }; 521 | 522 | window.quartoToggleReader = () => { 523 | // Applies a slow class (or removes it) 524 | // to update the transition speed 525 | const slowTransition = (slow) => { 526 | const manageTransition = (id, slow) => { 527 | const el = document.getElementById(id); 528 | if (el) { 529 | if (slow) { 530 | el.classList.add("slow"); 531 | } else { 532 | el.classList.remove("slow"); 533 | } 534 | } 535 | }; 536 | 537 | manageTransition("TOC", slow); 538 | manageTransition("quarto-sidebar", slow); 539 | }; 540 | 541 | const readerMode = !isReaderMode(); 542 | setReaderModeValue(readerMode); 543 | 544 | // If we're entering reader mode, slow the transition 545 | if (readerMode) { 546 | slowTransition(readerMode); 547 | } 548 | highlightReaderToggle(readerMode); 549 | hideOverlappedSidebars(); 550 | 551 | // If we're exiting reader mode, restore the non-slow transition 552 | if (!readerMode) { 553 | slowTransition(!readerMode); 554 | } 555 | }; 556 | 557 | const highlightReaderToggle = (readerMode) => { 558 | const els = document.querySelectorAll(".quarto-reader-toggle"); 559 | if (els) { 560 | els.forEach((el) => { 561 | if (readerMode) { 562 | el.classList.add("reader"); 563 | } else { 564 | el.classList.remove("reader"); 565 | } 566 | }); 567 | } 568 | }; 569 | 570 | const setReaderModeValue = (val) => { 571 | if (window.location.protocol !== "file:") { 572 | window.localStorage.setItem("quarto-reader-mode", val); 573 | } else { 574 | localReaderMode = val; 575 | } 576 | }; 577 | 578 | const isReaderMode = () => { 579 | if (window.location.protocol !== "file:") { 580 | return window.localStorage.getItem("quarto-reader-mode") === "true"; 581 | } else { 582 | return localReaderMode; 583 | } 584 | }; 585 | let localReaderMode = null; 586 | 587 | // Walk the TOC and collapse/expand nodes 588 | // Nodes are expanded if: 589 | // - they are top level 590 | // - they have children that are 'active' links 591 | // - they are directly below an link that is 'active' 592 | const walk = (el, depth) => { 593 | // Tick depth when we enter a UL 594 | if (el.tagName === "UL") { 595 | depth = depth + 1; 596 | } 597 | 598 | // It this is active link 599 | let isActiveNode = false; 600 | if (el.tagName === "A" && el.classList.contains("active")) { 601 | isActiveNode = true; 602 | } 603 | 604 | // See if there is an active child to this element 605 | let hasActiveChild = false; 606 | for (child of el.children) { 607 | hasActiveChild = walk(child, depth) || hasActiveChild; 608 | } 609 | 610 | // Process the collapse state if this is an UL 611 | if (el.tagName === "UL") { 612 | if (depth === 1 || hasActiveChild || prevSiblingIsActiveLink(el)) { 613 | el.classList.remove("collapse"); 614 | } else { 615 | el.classList.add("collapse"); 616 | } 617 | 618 | // untick depth when we leave a UL 619 | depth = depth - 1; 620 | } 621 | return hasActiveChild || isActiveNode; 622 | }; 623 | 624 | // walk the TOC and expand / collapse any items that should be shown 625 | 626 | if (tocEl) { 627 | walk(tocEl, 0); 628 | updateActiveLink(); 629 | } 630 | 631 | // Throttle the scroll event and walk peridiocally 632 | window.document.addEventListener( 633 | "scroll", 634 | throttle(() => { 635 | if (tocEl) { 636 | updateActiveLink(); 637 | walk(tocEl, 0); 638 | } 639 | if (!isReaderMode()) { 640 | hideOverlappedSidebars(); 641 | } 642 | }, 5) 643 | ); 644 | window.addEventListener( 645 | "resize", 646 | throttle(() => { 647 | if (!isReaderMode()) { 648 | hideOverlappedSidebars(); 649 | } 650 | }, 10) 651 | ); 652 | hideOverlappedSidebars(); 653 | highlightReaderToggle(isReaderMode()); 654 | }); 655 | 656 | // grouped tabsets 657 | window.addEventListener("pageshow", (_event) => { 658 | function getTabSettings() { 659 | const data = localStorage.getItem("quarto-persistent-tabsets-data"); 660 | if (!data) { 661 | localStorage.setItem("quarto-persistent-tabsets-data", "{}"); 662 | return {}; 663 | } 664 | if (data) { 665 | return JSON.parse(data); 666 | } 667 | } 668 | 669 | function setTabSettings(data) { 670 | localStorage.setItem( 671 | "quarto-persistent-tabsets-data", 672 | JSON.stringify(data) 673 | ); 674 | } 675 | 676 | function setTabState(groupName, groupValue) { 677 | const data = getTabSettings(); 678 | data[groupName] = groupValue; 679 | setTabSettings(data); 680 | } 681 | 682 | function toggleTab(tab, active) { 683 | const tabPanelId = tab.getAttribute("aria-controls"); 684 | const tabPanel = document.getElementById(tabPanelId); 685 | if (active) { 686 | tab.classList.add("active"); 687 | tabPanel.classList.add("active"); 688 | } else { 689 | tab.classList.remove("active"); 690 | tabPanel.classList.remove("active"); 691 | } 692 | } 693 | 694 | function toggleAll(selectedGroup, selectorsToSync) { 695 | for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { 696 | const active = selectedGroup === thisGroup; 697 | for (const tab of tabs) { 698 | toggleTab(tab, active); 699 | } 700 | } 701 | } 702 | 703 | function findSelectorsToSyncByLanguage() { 704 | const result = {}; 705 | const tabs = Array.from( 706 | document.querySelectorAll(`div[data-group] a[id^='tabset-']`) 707 | ); 708 | for (const item of tabs) { 709 | const div = item.parentElement.parentElement.parentElement; 710 | const group = div.getAttribute("data-group"); 711 | if (!result[group]) { 712 | result[group] = {}; 713 | } 714 | const selectorsToSync = result[group]; 715 | const value = item.innerHTML; 716 | if (!selectorsToSync[value]) { 717 | selectorsToSync[value] = []; 718 | } 719 | selectorsToSync[value].push(item); 720 | } 721 | return result; 722 | } 723 | 724 | function setupSelectorSync() { 725 | const selectorsToSync = findSelectorsToSyncByLanguage(); 726 | Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { 727 | Object.entries(tabSetsByValue).forEach(([value, items]) => { 728 | items.forEach((item) => { 729 | item.addEventListener("click", (_event) => { 730 | setTabState(group, value); 731 | toggleAll(value, selectorsToSync[group]); 732 | }); 733 | }); 734 | }); 735 | }); 736 | return selectorsToSync; 737 | } 738 | 739 | const selectorsToSync = setupSelectorSync(); 740 | for (const [group, selectedName] of Object.entries(getTabSettings())) { 741 | const selectors = selectorsToSync[group]; 742 | // it's possible that stale state gives us empty selections, so we explicitly check here. 743 | if (selectors) { 744 | toggleAll(selectedName, selectors); 745 | } 746 | } 747 | }); 748 | 749 | function throttle(func, wait) { 750 | let waiting = false; 751 | return function () { 752 | if (!waiting) { 753 | func.apply(this, arguments); 754 | waiting = true; 755 | setTimeout(function () { 756 | waiting = false; 757 | }, wait); 758 | } 759 | }; 760 | } 761 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/quarto-html/tippy.css: -------------------------------------------------------------------------------- 1 | .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/Rvm_files/libs/quarto-html/tippy.umd.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],t):(e=e||self).tippy=t(e.Popper)}(this,(function(e){"use strict";var t={passive:!0,capture:!0},n=function(){return document.body};function r(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function o(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function i(e,t){return"function"==typeof e?e.apply(void 0,t):e}function a(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function s(e,t){var n=Object.assign({},e);return t.forEach((function(e){delete n[e]})),n}function u(e){return[].concat(e)}function c(e,t){-1===e.indexOf(t)&&e.push(t)}function p(e){return e.split("-")[0]}function f(e){return[].slice.call(e)}function l(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function d(){return document.createElement("div")}function v(e){return["Element","Fragment"].some((function(t){return o(e,t)}))}function m(e){return o(e,"MouseEvent")}function g(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function h(e){return v(e)?[e]:function(e){return o(e,"NodeList")}(e)?f(e):Array.isArray(e)?e:f(document.querySelectorAll(e))}function b(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function y(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function w(e){var t,n=u(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function E(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function O(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var x={isTouch:!1},C=0;function T(){x.isTouch||(x.isTouch=!0,window.performance&&document.addEventListener("mousemove",A))}function A(){var e=performance.now();e-C<20&&(x.isTouch=!1,document.removeEventListener("mousemove",A)),C=e}function L(){var e=document.activeElement;if(g(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var D=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,R=Object.assign({appendTo:n,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(R);function P(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=R[o])?r:i);return t}),{});return Object.assign({},e,t)}function j(e,t){var n=Object.assign({},t,{content:i(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(P(Object.assign({},R,{plugins:t}))):k).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function M(e,t){e.innerHTML=t}function V(e){var t=d();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",v(e)?t.appendChild(e):M(t,e)),t}function I(e,t){v(t.content)?(M(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?M(e,t.content):e.textContent=t.content)}function S(e){var t=e.firstElementChild,n=f(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function N(e){var t=d(),n=d();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=d();function o(n,r){var o=S(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}N.$$tippy=!0;var B=1,H=[],U=[];function _(o,s){var v,g,h,C,T,A,L,k,M=j(o,Object.assign({},R,P(l(s)))),V=!1,I=!1,N=!1,_=!1,F=[],W=a(we,M.interactiveDebounce),X=B++,Y=(k=M.plugins).filter((function(e,t){return k.indexOf(e)===t})),$={id:X,reference:o,popper:d(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:Y,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(g),cancelAnimationFrame(h)},setProps:function(e){if($.state.isDestroyed)return;ae("onBeforeUpdate",[$,e]),be();var t=$.props,n=j(o,Object.assign({},t,l(e),{ignoreAttributes:!0}));$.props=n,he(),t.interactiveDebounce!==n.interactiveDebounce&&(ce(),W=a(we,n.interactiveDebounce));t.triggerTarget&&!n.triggerTarget?u(t.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):n.triggerTarget&&o.removeAttribute("aria-expanded");ue(),ie(),J&&J(t,n);$.popperInstance&&(Ce(),Ae().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));ae("onAfterUpdate",[$,e])},setContent:function(e){$.setProps({content:e})},show:function(){var e=$.state.isVisible,t=$.state.isDestroyed,o=!$.state.isEnabled,a=x.isTouch&&!$.props.touch,s=r($.props.duration,0,R.duration);if(e||t||o||a)return;if(te().hasAttribute("disabled"))return;if(ae("onShow",[$],!1),!1===$.props.onShow($))return;$.state.isVisible=!0,ee()&&(z.style.visibility="visible");ie(),de(),$.state.isMounted||(z.style.transition="none");if(ee()){var u=re(),p=u.box,f=u.content;b([p,f],0)}A=function(){var e;if($.state.isVisible&&!_){if(_=!0,z.offsetHeight,z.style.transition=$.props.moveTransition,ee()&&$.props.animation){var t=re(),n=t.box,r=t.content;b([n,r],s),y([n,r],"visible")}se(),ue(),c(U,$),null==(e=$.popperInstance)||e.forceUpdate(),ae("onMount",[$]),$.props.animation&&ee()&&function(e,t){me(e,t)}(s,(function(){$.state.isShown=!0,ae("onShown",[$])}))}},function(){var e,t=$.props.appendTo,r=te();e=$.props.interactive&&t===n||"parent"===t?r.parentNode:i(t,[r]);e.contains(z)||e.appendChild(z);$.state.isMounted=!0,Ce()}()},hide:function(){var e=!$.state.isVisible,t=$.state.isDestroyed,n=!$.state.isEnabled,o=r($.props.duration,1,R.duration);if(e||t||n)return;if(ae("onHide",[$],!1),!1===$.props.onHide($))return;$.state.isVisible=!1,$.state.isShown=!1,_=!1,V=!1,ee()&&(z.style.visibility="hidden");if(ce(),ve(),ie(!0),ee()){var i=re(),a=i.box,s=i.content;$.props.animation&&(b([a,s],o),y([a,s],"hidden"))}se(),ue(),$.props.animation?ee()&&function(e,t){me(e,(function(){!$.state.isVisible&&z.parentNode&&z.parentNode.contains(z)&&t()}))}(o,$.unmount):$.unmount()},hideWithInteractivity:function(e){ne().addEventListener("mousemove",W),c(H,W),W(e)},enable:function(){$.state.isEnabled=!0},disable:function(){$.hide(),$.state.isEnabled=!1},unmount:function(){$.state.isVisible&&$.hide();if(!$.state.isMounted)return;Te(),Ae().forEach((function(e){e._tippy.unmount()})),z.parentNode&&z.parentNode.removeChild(z);U=U.filter((function(e){return e!==$})),$.state.isMounted=!1,ae("onHidden",[$])},destroy:function(){if($.state.isDestroyed)return;$.clearDelayTimeouts(),$.unmount(),be(),delete o._tippy,$.state.isDestroyed=!0,ae("onDestroy",[$])}};if(!M.render)return $;var q=M.render($),z=q.popper,J=q.onUpdate;z.setAttribute("data-tippy-root",""),z.id="tippy-"+$.id,$.popper=z,o._tippy=$,z._tippy=$;var G=Y.map((function(e){return e.fn($)})),K=o.hasAttribute("aria-expanded");return he(),ue(),ie(),ae("onCreate",[$]),M.showOnCreate&&Le(),z.addEventListener("mouseenter",(function(){$.props.interactive&&$.state.isVisible&&$.clearDelayTimeouts()})),z.addEventListener("mouseleave",(function(){$.props.interactive&&$.props.trigger.indexOf("mouseenter")>=0&&ne().addEventListener("mousemove",W)})),$;function Q(){var e=$.props.touch;return Array.isArray(e)?e:[e,0]}function Z(){return"hold"===Q()[0]}function ee(){var e;return!(null==(e=$.props.render)||!e.$$tippy)}function te(){return L||o}function ne(){var e=te().parentNode;return e?w(e):document}function re(){return S(z)}function oe(e){return $.state.isMounted&&!$.state.isVisible||x.isTouch||C&&"focus"===C.type?0:r($.props.delay,e?0:1,R.delay)}function ie(e){void 0===e&&(e=!1),z.style.pointerEvents=$.props.interactive&&!e?"":"none",z.style.zIndex=""+$.props.zIndex}function ae(e,t,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=$.props)[e].apply(r,t)}function se(){var e=$.props.aria;if(e.content){var t="aria-"+e.content,n=z.id;u($.props.triggerTarget||o).forEach((function(e){var r=e.getAttribute(t);if($.state.isVisible)e.setAttribute(t,r?r+" "+n:n);else{var o=r&&r.replace(n,"").trim();o?e.setAttribute(t,o):e.removeAttribute(t)}}))}}function ue(){!K&&$.props.aria.expanded&&u($.props.triggerTarget||o).forEach((function(e){$.props.interactive?e.setAttribute("aria-expanded",$.state.isVisible&&e===te()?"true":"false"):e.removeAttribute("aria-expanded")}))}function ce(){ne().removeEventListener("mousemove",W),H=H.filter((function(e){return e!==W}))}function pe(e){if(!x.isTouch||!N&&"mousedown"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!$.props.interactive||!O(z,t)){if(u($.props.triggerTarget||o).some((function(e){return O(e,t)}))){if(x.isTouch)return;if($.state.isVisible&&$.props.trigger.indexOf("click")>=0)return}else ae("onClickOutside",[$,e]);!0===$.props.hideOnClick&&($.clearDelayTimeouts(),$.hide(),I=!0,setTimeout((function(){I=!1})),$.state.isMounted||ve())}}}function fe(){N=!0}function le(){N=!1}function de(){var e=ne();e.addEventListener("mousedown",pe,!0),e.addEventListener("touchend",pe,t),e.addEventListener("touchstart",le,t),e.addEventListener("touchmove",fe,t)}function ve(){var e=ne();e.removeEventListener("mousedown",pe,!0),e.removeEventListener("touchend",pe,t),e.removeEventListener("touchstart",le,t),e.removeEventListener("touchmove",fe,t)}function me(e,t){var n=re().box;function r(e){e.target===n&&(E(n,"remove",r),t())}if(0===e)return t();E(n,"remove",T),E(n,"add",r),T=r}function ge(e,t,n){void 0===n&&(n=!1),u($.props.triggerTarget||o).forEach((function(r){r.addEventListener(e,t,n),F.push({node:r,eventType:e,handler:t,options:n})}))}function he(){var e;Z()&&(ge("touchstart",ye,{passive:!0}),ge("touchend",Ee,{passive:!0})),(e=$.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(ge(e,ye),e){case"mouseenter":ge("mouseleave",Ee);break;case"focus":ge(D?"focusout":"blur",Oe);break;case"focusin":ge("focusout",Oe)}}))}function be(){F.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),F=[]}function ye(e){var t,n=!1;if($.state.isEnabled&&!xe(e)&&!I){var r="focus"===(null==(t=C)?void 0:t.type);C=e,L=e.currentTarget,ue(),!$.state.isVisible&&m(e)&&H.forEach((function(t){return t(e)})),"click"===e.type&&($.props.trigger.indexOf("mouseenter")<0||V)&&!1!==$.props.hideOnClick&&$.state.isVisible?n=!0:Le(e),"click"===e.type&&(V=!n),n&&!r&&De(e)}}function we(e){var t=e.target,n=te().contains(t)||z.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=p(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=t.top-r+u>i,v=r-t.bottom-c>i,m=t.left-n+f>i,g=n-t.right-l>i;return d||v||m||g}))}(Ae().concat(z).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),e)&&(ce(),De(e))}function Ee(e){xe(e)||$.props.trigger.indexOf("click")>=0&&V||($.props.interactive?$.hideWithInteractivity(e):De(e))}function Oe(e){$.props.trigger.indexOf("focusin")<0&&e.target!==te()||$.props.interactive&&e.relatedTarget&&z.contains(e.relatedTarget)||De(e)}function xe(e){return!!x.isTouch&&Z()!==e.type.indexOf("touch")>=0}function Ce(){Te();var t=$.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,s=t.moveTransition,u=ee()?S(z).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||te()}:o,p=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(ee()){var n=re().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];ee()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),$.popperInstance=e.createPopper(c,z,Object.assign({},n,{placement:r,onFirstUpdate:A,modifiers:p}))}function Te(){$.popperInstance&&($.popperInstance.destroy(),$.popperInstance=null)}function Ae(){return f(z.querySelectorAll("[data-tippy-root]"))}function Le(e){$.clearDelayTimeouts(),e&&ae("onTrigger",[$,e]),de();var t=oe(!0),n=Q(),r=n[0],o=n[1];x.isTouch&&"hold"===r&&o&&(t=o),t?v=setTimeout((function(){$.show()}),t):$.show()}function De(e){if($.clearDelayTimeouts(),ae("onUntrigger",[$,e]),$.state.isVisible){if(!($.props.trigger.indexOf("mouseenter")>=0&&$.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&V)){var t=oe(!1);t?g=setTimeout((function(){$.state.isVisible&&$.hide()}),t):h=requestAnimationFrame((function(){$.hide()}))}}else ve()}}function F(e,n){void 0===n&&(n={});var r=R.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,t),window.addEventListener("blur",L);var o=Object.assign({},n,{plugins:r}),i=h(e).reduce((function(e,t){var n=t&&_(t,o);return n&&e.push(n),e}),[]);return v(e)?i[0]:i}F.defaultProps=R,F.setDefaultProps=function(e){Object.keys(e).forEach((function(t){R[t]=e[t]}))},F.currentInput=x;var W=Object.assign({},e.applyStyles,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),X={mouseover:"mouseenter",focusin:"focus",click:"click"};var Y={name:"animateFill",defaultValue:!1,fn:function(e){var t;if(null==(t=e.props.render)||!t.$$tippy)return{};var n=S(e.popper),r=n.box,o=n.content,i=e.props.animateFill?function(){var e=d();return e.className="tippy-backdrop",y([e],"hidden"),e}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",e.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var e=r.style.transitionDuration,t=Number(e.replace("ms",""));o.style.transitionDelay=Math.round(t/10)+"ms",i.style.transitionDuration=e,y([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&y([i],"hidden")}}}};var $={clientX:0,clientY:0},q=[];function z(e){var t=e.clientX,n=e.clientY;$={clientX:t,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(e){var t=e.reference,n=w(e.props.triggerTarget||t),r=!1,o=!1,i=!0,a=e.props;function s(){return"initial"===e.props.followCursor&&e.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,e.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||t.contains(n.target),o=e.props.followCursor,i=n.clientX,a=n.clientY,s=t.getBoundingClientRect(),u=i-s.left,c=a-s.top;!r&&e.props.interactive||e.setProps({getReferenceClientRect:function(){var e=t.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=e.left+u,r=e.top+c);var s="horizontal"===o?e.top:r,p="vertical"===o?e.right:n,f="horizontal"===o?e.bottom:r,l="vertical"===o?e.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){e.props.followCursor&&(q.push({instance:e,doc:n}),function(e){e.addEventListener("mousemove",z)}(n))}function d(){0===(q=q.filter((function(t){return t.instance!==e}))).filter((function(e){return e.doc===n})).length&&function(e){e.removeEventListener("mousemove",z)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=e.props},onAfterUpdate:function(t,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!e.state.isMounted||o||s()||u()):(c(),p()))},onMount:function(){e.props.followCursor&&!o&&(i&&(f($),i=!1),s()||u())},onTrigger:function(e,t){m(t)&&($={clientX:t.clientX,clientY:t.clientY}),o="focus"===t.type},onHidden:function(){e.props.followCursor&&(p(),c(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(e){var t,n=e.reference;var r=-1,o=!1,i=[],a={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var a=o.state;e.props.inlinePositioning&&(-1!==i.indexOf(a.placement)&&(i=[]),t!==a.placement&&-1===i.indexOf(a.placement)&&(i.push(a.placement),e.setProps({getReferenceClientRect:function(){return function(e){return function(e,t,n,r){if(n.length<2||null===e)return t;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||t;switch(e){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===e,s=o.top,u=i.bottom,c=a?o.left:i.left,p=a?o.right:i.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(e){return e.left}))),l=Math.max.apply(Math,n.map((function(e){return e.right}))),d=n.filter((function(t){return"left"===e?t.left===f:t.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return t}}(p(e),n.getBoundingClientRect(),f(n.getClientRects()),r)}(a.placement)}})),t=a.placement)}};function s(){var t;o||(t=function(e,t){var n;return{popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat(((null==(n=e.popperOptions)?void 0:n.modifiers)||[]).filter((function(e){return e.name!==t.name})),[t])})}}(e.props,a),o=!0,e.setProps(t),o=!1)}return{onCreate:s,onAfterUpdate:s,onTrigger:function(t,n){if(m(n)){var o=f(e.reference.getClientRects()),i=o.find((function(e){return e.left-2<=n.clientX&&e.right+2>=n.clientX&&e.top-2<=n.clientY&&e.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(e){var t=e.reference,n=e.popper;function r(t){return!0===e.props.sticky||e.props.sticky===t}var o=null,i=null;function a(){var s=r("reference")?(e.popperInstance?e.popperInstance.state.elements.reference:t).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&e.popperInstance&&e.popperInstance.update(),o=s,i=u,e.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){e.props.sticky&&a()}}}};function Q(e,t){return!e||!t||(e.top!==t.top||e.right!==t.right||e.bottom!==t.bottom||e.left!==t.left)}return F.setDefaultProps({plugins:[Y,J,G,K],render:N}),F.createSingleton=function(e,t){var n;void 0===t&&(t={});var r,o=e,i=[],a=[],c=t.overrides,p=[],f=!1;function l(){a=o.map((function(e){return u(e.props.triggerTarget||e.reference)})).reduce((function(e,t){return e.concat(t)}),[])}function v(){i=o.map((function(e){return e.reference}))}function m(e){o.forEach((function(t){e?t.enable():t.disable()}))}function g(e){return o.map((function(t){var n=t.setProps;return t.setProps=function(o){n(o),t.reference===r&&e.setProps(o)},function(){t.setProps=n}}))}function h(e,t){var n=a.indexOf(t);if(t!==r){r=t;var s=(c||[]).concat("content").reduce((function(e,t){return e[t]=o[n].props[t],e}),{});e.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){var e;return null==(e=i[n])?void 0:e.getBoundingClientRect()}}))}}m(!1),v(),l();var b={fn:function(){return{onDestroy:function(){m(!0)},onHidden:function(){r=null},onClickOutside:function(e){e.props.showOnCreate&&!f&&(f=!0,r=null)},onShow:function(e){e.props.showOnCreate&&!f&&(f=!0,h(e,i[0]))},onTrigger:function(e,t){h(e,t.currentTarget)}}}},y=F(d(),Object.assign({},s(t,["overrides"]),{plugins:[b].concat(t.plugins||[]),triggerTarget:a,popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat((null==(n=t.popperOptions)?void 0:n.modifiers)||[],[W])})})),w=y.show;y.show=function(e){if(w(),!r&&null==e)return h(y,i[0]);if(!r||null!=e){if("number"==typeof e)return i[e]&&h(y,i[e]);if(o.indexOf(e)>=0){var t=e.reference;return h(y,t)}return i.indexOf(e)>=0?h(y,e):void 0}},y.showNext=function(){var e=i[0];if(!r)return y.show(0);var t=i.indexOf(r);y.show(i[t+1]||e)},y.showPrevious=function(){var e=i[i.length-1];if(!r)return y.show(e);var t=i.indexOf(r),n=i[t-1]||e;y.show(n)};var E=y.setProps;return y.setProps=function(e){c=e.overrides||c,E(e)},y.setInstances=function(e){m(!0),p.forEach((function(e){return e()})),o=e,m(!1),v(),l(),p=g(y),y.setProps({triggerTarget:a})},p=g(y),y},F.delegate=function(e,n){var r=[],o=[],i=!1,a=n.target,c=s(n,["target"]),p=Object.assign({},c,{trigger:"manual",touch:!1}),f=Object.assign({touch:R.touch},c,{showOnCreate:!0}),l=F(e,p);function d(e){if(e.target&&!i){var t=e.target.closest(a);if(t){var r=t.getAttribute("data-tippy-trigger")||n.trigger||R.trigger;if(!t._tippy&&!("touchstart"===e.type&&"boolean"==typeof f.touch||"touchstart"!==e.type&&r.indexOf(X[e.type])<0)){var s=F(t,f);s&&(o=o.concat(s))}}}}function v(e,t,n,o){void 0===o&&(o=!1),e.addEventListener(t,n,o),r.push({node:e,eventType:t,handler:n,options:o})}return u(l).forEach((function(e){var n=e.destroy,a=e.enable,s=e.disable;e.destroy=function(e){void 0===e&&(e=!0),e&&o.forEach((function(e){e.destroy()})),o=[],r.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),r=[],n()},e.enable=function(){a(),o.forEach((function(e){return e.enable()})),i=!1},e.disable=function(){s(),o.forEach((function(e){return e.disable()})),i=!0},function(e){var n=e.reference;v(n,"touchstart",d,t),v(n,"mouseover",d),v(n,"focusin",d),v(n,"click",d)}(e)})),l},F.hideAll=function(e){var t=void 0===e?{}:e,n=t.exclude,r=t.duration;U.forEach((function(e){var t=!1;if(n&&(t=g(n)?e.reference===n:e.popper===n.popper),!t){var o=e.props.duration;e.setProps({duration:r}),e.hide(),e.state.isDestroyed||e.setProps({duration:o})}}))},F.roundArrow='',F})); 2 | 3 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/arrange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/arrange.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/banner.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/filter.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/full_join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/full_join.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/group_by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/group_by.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/inner_join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/inner_join.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/join.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/left_join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/left_join.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/mutate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/mutate.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/pivot_longer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/pivot_longer.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/pivot_wider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/pivot_wider.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/project.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/right_join.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/right_join.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/select.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/summarise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/summarise.png -------------------------------------------------------------------------------- /{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/tidy_veri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcavs/LearnR/5ab187eb3fa50eecae26802e577511da888d0bd1/{dplyr} ile Veri Manipülasyonu - 26 Kasım 2022/tidy_veri.png --------------------------------------------------------------------------------