1799 lines
		
	
	
		
			118 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			1799 lines
		
	
	
		
			118 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						||
<html lang="zh-Hans"><head>
 | 
						||
<script src="../../site_libs/clipboard/clipboard.min.js"></script>
 | 
						||
<script src="../../site_libs/quarto-html/tabby.min.js"></script>
 | 
						||
<script src="../../site_libs/quarto-html/popper.min.js"></script>
 | 
						||
<script src="../../site_libs/quarto-html/tippy.umd.min.js"></script>
 | 
						||
<link href="../../site_libs/quarto-html/tippy.css" rel="stylesheet">
 | 
						||
<link href="../../site_libs/quarto-html/light-border.css" rel="stylesheet">
 | 
						||
<link href="../../site_libs/quarto-html/quarto-syntax-highlighting-dark-31d8df3fb4b3ebd213a509f950828e75.css" rel="stylesheet" id="quarto-text-highlighting-styles"><meta charset="utf-8">
 | 
						||
  <meta name="generator" content="quarto-1.7.1">
 | 
						||
 | 
						||
  <meta name="author" content="苏命、王为东 中国科学院大学资源与环境学院 中国科学院生态环境研究中心">
 | 
						||
  <meta name="dcterms.date" content="2025-03-17">
 | 
						||
  <title>Version: {{< var branch >}} – 二、R语言语法基础</title>
 | 
						||
  <meta name="apple-mobile-web-app-capable" content="yes">
 | 
						||
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 | 
						||
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
 | 
						||
  <link rel="stylesheet" href="../../site_libs/revealjs/dist/reset.css">
 | 
						||
  <link rel="stylesheet" href="../../site_libs/revealjs/dist/reveal.css">
 | 
						||
  <style>
 | 
						||
    code{white-space: pre-wrap;}
 | 
						||
    span.smallcaps{font-variant: small-caps;}
 | 
						||
    div.columns{display: flex; gap: min(4vw, 1.5em);}
 | 
						||
    div.column{flex: auto; overflow-x: auto;}
 | 
						||
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
 | 
						||
    ul.task-list{list-style: none;}
 | 
						||
    ul.task-list li input[type="checkbox"] {
 | 
						||
      width: 0.8em;
 | 
						||
      margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ 
 | 
						||
      vertical-align: middle;
 | 
						||
    }
 | 
						||
    /* CSS for syntax highlighting */
 | 
						||
    pre > code.sourceCode { white-space: pre; position: relative; }
 | 
						||
    pre > code.sourceCode > span { line-height: 1.25; }
 | 
						||
    pre > code.sourceCode > span:empty { height: 1.2em; }
 | 
						||
    .sourceCode { overflow: visible; }
 | 
						||
    code.sourceCode > span { color: inherit; text-decoration: inherit; }
 | 
						||
    div.sourceCode { margin: 1em 0; }
 | 
						||
    pre.sourceCode { margin: 0; }
 | 
						||
    @media screen {
 | 
						||
    div.sourceCode { overflow: auto; }
 | 
						||
    }
 | 
						||
    @media print {
 | 
						||
    pre > code.sourceCode { white-space: pre-wrap; }
 | 
						||
    pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
 | 
						||
    }
 | 
						||
    pre.numberSource code
 | 
						||
      { counter-reset: source-line 0; }
 | 
						||
    pre.numberSource code > span
 | 
						||
      { position: relative; left: -4em; counter-increment: source-line; }
 | 
						||
    pre.numberSource code > span > a:first-child::before
 | 
						||
      { content: counter(source-line);
 | 
						||
        position: relative; left: -1em; text-align: right; vertical-align: baseline;
 | 
						||
        border: none; display: inline-block;
 | 
						||
        -webkit-touch-callout: none; -webkit-user-select: none;
 | 
						||
        -khtml-user-select: none; -moz-user-select: none;
 | 
						||
        -ms-user-select: none; user-select: none;
 | 
						||
        padding: 0 4px; width: 4em;
 | 
						||
      }
 | 
						||
    pre.numberSource { margin-left: 3em;  padding-left: 4px; }
 | 
						||
    div.sourceCode
 | 
						||
      { color: #f8f8f2;  }
 | 
						||
    @media screen {
 | 
						||
    pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | 
						||
    }
 | 
						||
    code span { color: #f8f8f2; } /* Normal */
 | 
						||
    code span.al { color: #f07178; background-color: #2a0f15; font-weight: bold; } /* Alert */
 | 
						||
    code span.an { color: #d4d0ab; } /* Annotation */
 | 
						||
    code span.at { color: #00e0e0; } /* Attribute */
 | 
						||
    code span.bn { color: #d4d0ab; } /* BaseN */
 | 
						||
    code span.bu { color: #abe338; } /* BuiltIn */
 | 
						||
    code span.cf { color: #ffa07a; font-weight: bold; } /* ControlFlow */
 | 
						||
    code span.ch { color: #abe338; } /* Char */
 | 
						||
    code span.cn { color: #ffd700; } /* Constant */
 | 
						||
    code span.co { color: #f8f8f2; font-style: italic; } /* Comment */
 | 
						||
    code span.cv { color: #ffd700; } /* CommentVar */
 | 
						||
    code span.do { color: #f8f8f2; } /* Documentation */
 | 
						||
    code span.dt { color: #ffa07a; } /* DataType */
 | 
						||
    code span.dv { color: #d4d0ab; } /* DecVal */
 | 
						||
    code span.er { color: #f07178; text-decoration: underline; } /* Error */
 | 
						||
    code span.ex { color: #00e0e0; font-weight: bold; } /* Extension */
 | 
						||
    code span.fl { color: #d4d0ab; } /* Float */
 | 
						||
    code span.fu { color: #ffa07a; } /* Function */
 | 
						||
    code span.im { color: #abe338; } /* Import */
 | 
						||
    code span.in { color: #d4d0ab; } /* Information */
 | 
						||
    code span.kw { color: #ffa07a; font-weight: bold; } /* Keyword */
 | 
						||
    code span.op { color: #ffa07a; } /* Operator */
 | 
						||
    code span.ot { color: #00e0e0; } /* Other */
 | 
						||
    code span.pp { color: #dcc6e0; } /* Preprocessor */
 | 
						||
    code span.re { color: #00e0e0; background-color: #f8f8f2; } /* RegionMarker */
 | 
						||
    code span.sc { color: #abe338; } /* SpecialChar */
 | 
						||
    code span.ss { color: #abe338; } /* SpecialString */
 | 
						||
    code span.st { color: #abe338; } /* String */
 | 
						||
    code span.va { color: #00e0e0; } /* Variable */
 | 
						||
    code span.vs { color: #abe338; } /* VerbatimString */
 | 
						||
    code span.wa { color: #dcc6e0; } /* Warning */
 | 
						||
  </style>
 | 
						||
  <link rel="stylesheet" href="../../site_libs/revealjs/dist/theme/quarto-5b48f34d633aed70c74c672477009ffc.css">
 | 
						||
  <link rel="stylesheet" href="./_extensions/inst/css/revealjs.css">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/quarto-line-highlight/line-highlight.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/reveal-menu/menu.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/reveal-menu/quarto-menu.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/reveal-chalkboard/font-awesome/css/all.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/reveal-chalkboard/style.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/reveal-pointer/pointer.css" rel="stylesheet">
 | 
						||
  <link href="../../site_libs/revealjs/plugin/quarto-support/footer.css" rel="stylesheet">
 | 
						||
  <script type="application/json" class="js-hypothesis-config">
 | 
						||
  {
 | 
						||
    "theme": "clean",
 | 
						||
    "openSidebar": false
 | 
						||
  }
 | 
						||
  </script>
 | 
						||
  <script async="" src="https://hypothes.is/embed.js"></script>
 | 
						||
  <script>
 | 
						||
    window.document.addEventListener("DOMContentLoaded", function (_event) {
 | 
						||
      document.body.classList.add('hypothesis-enabled');
 | 
						||
    });
 | 
						||
  </script>
 | 
						||
  <style type="text/css">
 | 
						||
    .reveal div.sourceCode {
 | 
						||
      margin: 0;
 | 
						||
      overflow: auto;
 | 
						||
    }
 | 
						||
    .reveal div.hanging-indent {
 | 
						||
      margin-left: 1em;
 | 
						||
      text-indent: -1em;
 | 
						||
    }
 | 
						||
    .reveal .slide:not(.center) {
 | 
						||
      height: 100%;
 | 
						||
    }
 | 
						||
    .reveal .slide.scrollable {
 | 
						||
      overflow-y: auto;
 | 
						||
    }
 | 
						||
    .reveal .footnotes {
 | 
						||
      height: 100%;
 | 
						||
      overflow-y: auto;
 | 
						||
    }
 | 
						||
    .reveal .slide .absolute {
 | 
						||
      position: absolute;
 | 
						||
      display: block;
 | 
						||
    }
 | 
						||
    .reveal .footnotes ol {
 | 
						||
      counter-reset: ol;
 | 
						||
      list-style-type: none; 
 | 
						||
      margin-left: 0;
 | 
						||
    }
 | 
						||
    .reveal .footnotes ol li:before {
 | 
						||
      counter-increment: ol;
 | 
						||
      content: counter(ol) ". "; 
 | 
						||
    }
 | 
						||
    .reveal .footnotes ol li > p:first-child {
 | 
						||
      display: inline-block;
 | 
						||
    }
 | 
						||
    .reveal .slide ul,
 | 
						||
    .reveal .slide ol {
 | 
						||
      margin-bottom: 0.5em;
 | 
						||
    }
 | 
						||
    .reveal .slide ul li,
 | 
						||
    .reveal .slide ol li {
 | 
						||
      margin-top: 0.4em;
 | 
						||
      margin-bottom: 0.2em;
 | 
						||
    }
 | 
						||
    .reveal .slide ul[role="tablist"] li {
 | 
						||
      margin-bottom: 0;
 | 
						||
    }
 | 
						||
    .reveal .slide ul li > *:first-child,
 | 
						||
    .reveal .slide ol li > *:first-child {
 | 
						||
      margin-block-start: 0;
 | 
						||
    }
 | 
						||
    .reveal .slide ul li > *:last-child,
 | 
						||
    .reveal .slide ol li > *:last-child {
 | 
						||
      margin-block-end: 0;
 | 
						||
    }
 | 
						||
    .reveal .slide .columns:nth-child(3) {
 | 
						||
      margin-block-start: 0.8em;
 | 
						||
    }
 | 
						||
    .reveal blockquote {
 | 
						||
      box-shadow: none;
 | 
						||
    }
 | 
						||
    .reveal .tippy-content>* {
 | 
						||
      margin-top: 0.2em;
 | 
						||
      margin-bottom: 0.7em;
 | 
						||
    }
 | 
						||
    .reveal .tippy-content>*:last-child {
 | 
						||
      margin-bottom: 0.2em;
 | 
						||
    }
 | 
						||
    .reveal .slide > img.stretch.quarto-figure-center,
 | 
						||
    .reveal .slide > img.r-stretch.quarto-figure-center {
 | 
						||
      display: block;
 | 
						||
      margin-left: auto;
 | 
						||
      margin-right: auto; 
 | 
						||
    }
 | 
						||
    .reveal .slide > img.stretch.quarto-figure-left,
 | 
						||
    .reveal .slide > img.r-stretch.quarto-figure-left  {
 | 
						||
      display: block;
 | 
						||
      margin-left: 0;
 | 
						||
      margin-right: auto; 
 | 
						||
    }
 | 
						||
    .reveal .slide > img.stretch.quarto-figure-right,
 | 
						||
    .reveal .slide > img.r-stretch.quarto-figure-right  {
 | 
						||
      display: block;
 | 
						||
      margin-left: auto;
 | 
						||
      margin-right: 0; 
 | 
						||
    }
 | 
						||
  </style>
 | 
						||
</head>
 | 
						||
<body class="quarto-dark">
 | 
						||
  <div class="reveal">
 | 
						||
    <div class="slides">
 | 
						||
 | 
						||
<section id="title-slide" class="quarto-title-block center">
 | 
						||
  <h1 class="title">二、R语言语法基础</h1>
 | 
						||
  <p class="subtitle">《区域水环境污染数据分析实践》<br>Data analysis practice of regional water environment pollution</p>
 | 
						||
 | 
						||
<div class="quarto-title-authors">
 | 
						||
<div class="quarto-title-author">
 | 
						||
<div class="quarto-title-author-name">
 | 
						||
苏命、王为东<br>中国科学院大学资源与环境学院<br>中国科学院生态环境研究中心 
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
 | 
						||
  <p class="date">2025-03-17</p>
 | 
						||
</section>
 | 
						||
<section id="数据类型" class="slide level2">
 | 
						||
<h2>数据类型</h2>
 | 
						||
<h3 id="数值型">数值型</h3>
 | 
						||
<p>R中的数值型数据可以是整数或浮点数。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb1-1"><a></a>(x <span class="ot"><-</span> <span class="dv">10</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb3-1"><a></a>(y <span class="ot"><-</span> <span class="fl">1.23e-2</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 0.0123</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb5-1"><a></a>(z <span class="ot"><-</span> pi)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3.141593</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据类型-1" class="slide level2">
 | 
						||
<h2>数据类型</h2>
 | 
						||
<h3 id="字符串">字符串</h3>
 | 
						||
<ul>
 | 
						||
<li>R 中的字符串用引号括起来,建议用<strong>双引号</strong>。</li>
 | 
						||
<li>中文编码主要有GBK编码和UTF-8编码, 可能遇到编码错误造成乱码。RStudio软件默认采用UTF-8编码,在R程序运行时字符串一般用UTF-8编码保存。</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb7"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb7-1"><a></a>(str <span class="ot"><-</span> <span class="st">"Hello, World!"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Hello, World!"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb9"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb9-1"><a></a>(str <span class="ot"><-</span> <span class="st">'Hello, World!'</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Hello, World!"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb11"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb11-1"><a></a>(str <span class="ot"><-</span> <span class="st">'He was very angry, and shouted: "Stop!"'</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "He was very angry, and shouted: \"Stop!\""</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据类型-2" class="slide level2">
 | 
						||
<h2>数据类型</h2>
 | 
						||
<h3 id="逻辑">逻辑</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb13"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb13-1"><a></a><span class="fu">c</span>(<span class="cn">TRUE</span>, <span class="cn">FALSE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1]  TRUE FALSE</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="特殊值" class="slide level2">
 | 
						||
<h2>特殊值</h2>
 | 
						||
<div class="columns">
 | 
						||
<div class="column" style="width:45%;">
 | 
						||
<ul>
 | 
						||
<li><code>NA</code>: 这是最常见的NA类型,表示缺失值</li>
 | 
						||
<li><code>NA_integer_</code>: 这是NA的整数类型</li>
 | 
						||
<li><code>NA_real_</code>: 这是NA的实数类型</li>
 | 
						||
<li><code>NA_character_</code>: 这是NA的字符类型</li>
 | 
						||
<li><code>NA_complex_</code>: 这是NA的复数类型</li>
 | 
						||
</ul>
 | 
						||
</div><div class="column" style="width:5%;">
 | 
						||
 | 
						||
</div><div class="column" style="width:45%;">
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb15"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb15-1"><a></a>pi</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3.141593</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb17"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb17-1"><a></a><span class="cn">NA</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] NA</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb19"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb19-1"><a></a><span class="cn">NA_character_</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] NA</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb21"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb21-1"><a></a><span class="cn">Inf</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] Inf</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</div></div>
 | 
						||
</section>
 | 
						||
<section id="特殊值-1" class="slide level2">
 | 
						||
<h2>特殊值</h2>
 | 
						||
<p>在 R 中,<code>Inf</code> 代表正无穷大(positive infinity),而 <code>-Inf</code> 则代表负无穷大(negative infinity)。这些值通常出现在数学计算中,例如除以零或对负数取对数等操作可能会导致无穷大的结果。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb23"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb23-1"><a></a><span class="co"># 正无穷大</span></span>
 | 
						||
<span id="cb23-2"><a></a>(x <span class="ot"><-</span> <span class="cn">Inf</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] Inf</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb25"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb25-1"><a></a><span class="co"># 负无穷大</span></span>
 | 
						||
<span id="cb25-2"><a></a>(y <span class="ot"><-</span> <span class="sc">-</span><span class="cn">Inf</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] -Inf</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb27"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb27-1"><a></a><span class="co"># 无穷大的运算</span></span>
 | 
						||
<span id="cb27-2"><a></a>(a <span class="ot"><-</span> <span class="dv">5</span> <span class="sc">/</span> <span class="dv">0</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] Inf</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb29"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb29-1"><a></a>(b <span class="ot"><-</span> <span class="fu">log</span>(<span class="dv">0</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] -Inf</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="变量赋值" class="slide level2">
 | 
						||
<h2>变量赋值</h2>
 | 
						||
<p>在 R 中,可以使用 <code><-</code> 或 <code>=</code> 运算符将值赋给变量,<strong>建议用<code><-</code></strong>。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb31"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb31-1"><a></a><span class="co"># 使用 `<-` 运算符</span></span>
 | 
						||
<span id="cb31-2"><a></a>(x <span class="ot"><-</span> <span class="dv">10</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb33"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb33-1"><a></a>(y <span class="ot"><-</span> <span class="st">"hello"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "hello"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb35"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb35-1"><a></a><span class="co"># 使用 `=` 运算符</span></span>
 | 
						||
<span id="cb35-2"><a></a>(<span class="at">z =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="变量赋值-1" class="slide level2">
 | 
						||
<h2>变量赋值</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb37"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb37-1"><a></a><span class="co"># 向量赋值</span></span>
 | 
						||
<span id="cb37-2"><a></a>(vec <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3 4 5</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb39"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb39-1"><a></a><span class="co"># 矩阵赋值</span></span>
 | 
						||
<span id="cb39-2"><a></a>(mat <span class="ot"><-</span> <span class="fu">matrix</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">9</span>, <span class="at">nrow =</span> <span class="dv">3</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2] [,3]
 | 
						||
[1,]    1    4    7
 | 
						||
[2,]    2    5    8
 | 
						||
[3,]    3    6    9</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="变量赋值-2" class="slide level2">
 | 
						||
<h2>变量赋值</h2>
 | 
						||
<h3 id="数据框赋值">数据框赋值</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb41"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb41-1"><a></a>(df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
 | 
						||
<span id="cb41-2"><a></a>  <span class="at">Name =</span> <span class="fu">c</span>(<span class="st">"Alice"</span>, <span class="st">"Bob"</span>, <span class="st">"Charlie"</span>),</span>
 | 
						||
<span id="cb41-3"><a></a>  <span class="at">Age =</span> <span class="fu">c</span>(<span class="dv">25</span>, <span class="dv">30</span>, <span class="dv">35</span>),</span>
 | 
						||
<span id="cb41-4"><a></a>  <span class="at">Married =</span> <span class="fu">c</span>(<span class="cn">TRUE</span>, <span class="cn">FALSE</span>, <span class="cn">TRUE</span>)</span>
 | 
						||
<span id="cb41-5"><a></a>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     Name Age Married
 | 
						||
1   Alice  25    TRUE
 | 
						||
2     Bob  30   FALSE
 | 
						||
3 Charlie  35    TRUE</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="变量赋值-3" class="slide level2">
 | 
						||
<h2>变量赋值</h2>
 | 
						||
<h3 id="列表赋值">列表赋值</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb43"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb43-1"><a></a>(lst <span class="ot"><-</span> <span class="fu">list</span>(</span>
 | 
						||
<span id="cb43-2"><a></a>  <span class="at">numbers =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>),</span>
 | 
						||
<span id="cb43-3"><a></a>  <span class="at">strings =</span> <span class="fu">c</span>(<span class="st">"a"</span>, <span class="st">"b"</span>, <span class="st">"c"</span>),</span>
 | 
						||
<span id="cb43-4"><a></a>  <span class="at">matrix =</span> <span class="fu">matrix</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">9</span>, <span class="at">nrow =</span> <span class="dv">3</span>)</span>
 | 
						||
<span id="cb43-5"><a></a>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>$numbers
 | 
						||
[1] 1 2 3
 | 
						||
 | 
						||
$strings
 | 
						||
[1] "a" "b" "c"
 | 
						||
 | 
						||
$matrix
 | 
						||
     [,1] [,2] [,3]
 | 
						||
[1,]    1    4    7
 | 
						||
[2,]    2    5    8
 | 
						||
[3,]    3    6    9</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数学函数" class="slide level2">
 | 
						||
<h2>数学函数</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb45"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb45-1"><a></a><span class="fu">round</span>(pi, <span class="at">digits =</span> <span class="dv">3</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3.142</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb47"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb47-1"><a></a><span class="fu">log</span>(<span class="dv">10</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 2.302585</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
<ol type="1">
 | 
						||
<li><code>abs(x)</code>: 返回 <code>x</code> 的绝对值</li>
 | 
						||
<li><code>sqrt(x)</code>: 返回 <code>x</code> 的平方根</li>
 | 
						||
<li><code>exp(x)</code>: 以e为底的指数函数值</li>
 | 
						||
<li><code>log(x, base)</code>: 以指定底数的对数函数的值,默认底数为e</li>
 | 
						||
<li><code>log10(x)</code>: 10为底的对数值</li>
 | 
						||
<li><code>log2(x)</code>: 2为底的对数值</li>
 | 
						||
<li><code>floor(x)</code>: 不大于<code>x</code>的最大整数</li>
 | 
						||
<li><code>ceiling(x)</code>: 不小于<code>x</code>的最小整数</li>
 | 
						||
</ol>
 | 
						||
</section>
 | 
						||
<section id="数学函数-1" class="slide level2">
 | 
						||
<h2>数学函数</h2>
 | 
						||
<ol start="9" type="1">
 | 
						||
<li><code>sin(x)</code>, <code>cos(x)</code>, <code>tan(x)</code>: 返回 <code>x</code> 的正弦、余弦和正切值,其中 <code>x</code> 为弧度</li>
 | 
						||
<li><code>asin(x)</code>, <code>acos(x)</code>, <code>atan(x)</code>: <code>x</code> 的反正弦、反余弦和反正切值,返回弧度</li>
 | 
						||
<li><code>sinh(x)</code>, <code>cosh(x)</code>, <code>tanh(x)</code>: 返回 <code>x</code> 的双曲正弦、双曲余弦和双曲正切值</li>
 | 
						||
<li><code>asinh(x)</code>, <code>acosh(x)</code>, <code>atanh(x)</code>: 反双曲正弦、反双曲余弦和反双曲正切值</li>
 | 
						||
<li><code>round(x, digits)</code>: <code>x</code> 四舍五入,<code>digits</code>指定小数点后位数</li>
 | 
						||
<li><code>trunc(x)</code>: 返回<code>x</code>截断值,即去掉小数部分</li>
 | 
						||
<li><code>sign(x)</code>: 返回符号</li>
 | 
						||
</ol>
 | 
						||
</section>
 | 
						||
<section id="统计函数" class="slide level2">
 | 
						||
<h2>统计函数</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb49"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb49-1"><a></a>x <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">5</span>, <span class="dv">10</span>, <span class="dv">15</span>, <span class="dv">20</span>, <span class="dv">25</span>)</span>
 | 
						||
<span id="cb49-2"><a></a><span class="co"># 计算向量的平均值</span></span>
 | 
						||
<span id="cb49-3"><a></a><span class="fu">mean</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 15</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb51"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb51-1"><a></a><span class="co"># 计算向量的中位数</span></span>
 | 
						||
<span id="cb51-2"><a></a><span class="fu">median</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 15</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb53"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb53-1"><a></a><span class="co"># 计算向量的最小值</span></span>
 | 
						||
<span id="cb53-2"><a></a><span class="fu">min</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 5</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb55"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb55-1"><a></a><span class="co"># 计算向量的最大值</span></span>
 | 
						||
<span id="cb55-2"><a></a><span class="fu">max</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 25</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb57"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb57-1"><a></a><span class="co"># 计算向量的总和</span></span>
 | 
						||
<span id="cb57-2"><a></a><span class="fu">sum</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 75</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="统计函数-1" class="slide level2">
 | 
						||
<h2>统计函数</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb59"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb59-1"><a></a><span class="co"># 计算向量的标准差</span></span>
 | 
						||
<span id="cb59-2"><a></a><span class="fu">sd</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 7.905694</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb61"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb61-1"><a></a><span class="co"># 计算向量的方差</span></span>
 | 
						||
<span id="cb61-2"><a></a><span class="fu">var</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 62.5</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb63"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb63-1"><a></a><span class="co"># 计算向量的分位数</span></span>
 | 
						||
<span id="cb63-2"><a></a><span class="fu">quantile</span>(x, <span class="at">probs =</span> <span class="fu">c</span>(<span class="fl">0.25</span>, <span class="fl">0.5</span>, <span class="fl">0.75</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>25% 50% 75% 
 | 
						||
 10  15  20 </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb65"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb65-1"><a></a><span class="co"># 统计向量的频数</span></span>
 | 
						||
<span id="cb65-2"><a></a>(frequency <span class="ot"><-</span> <span class="fu">table</span>(x))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>x
 | 
						||
 5 10 15 20 25 
 | 
						||
 1  1  1  1  1 </code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="统计函数-2" class="slide level2">
 | 
						||
<h2>统计函数</h2>
 | 
						||
<h3 id="执行两样本或单样本-t-检验">执行两样本或单样本 t 检验</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb67"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb67-1"><a></a>y <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">3</span>, <span class="dv">8</span>, <span class="dv">13</span>, <span class="dv">18</span>, <span class="dv">23</span>)</span>
 | 
						||
<span id="cb67-2"><a></a><span class="fu">t.test</span>(x, y)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>
 | 
						||
    Welch Two Sample t-test
 | 
						||
 | 
						||
data:  x and y
 | 
						||
t = 0.4, df = 8, p-value = 0.6996
 | 
						||
alternative hypothesis: true difference in means is not equal to 0
 | 
						||
95 percent confidence interval:
 | 
						||
 -9.530021 13.530021
 | 
						||
sample estimates:
 | 
						||
mean of x mean of y 
 | 
						||
       15        13 </code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="统计函数-3" class="slide level2">
 | 
						||
<h2>统计函数</h2>
 | 
						||
<h3 id="wilcoxon-mann-whitney检验">Wilcoxon-Mann-Whitney检验</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb69"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb69-1"><a></a><span class="fu">wilcox.test</span>(x, y)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>
 | 
						||
    Wilcoxon rank sum exact test
 | 
						||
 | 
						||
data:  x and y
 | 
						||
W = 15, p-value = 0.6905
 | 
						||
alternative hypothesis: true location shift is not equal to 0</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="统计函数-4" class="slide level2">
 | 
						||
<h2>统计函数</h2>
 | 
						||
<h3 id="创建向量的直方图">创建向量的直方图</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb71"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb71-1"><a></a><span class="fu">hist</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
 | 
						||
</div>
 | 
						||
<img data-src="index_files/figure-revealjs/unnamed-chunk-16-1.png" width="480" class="r-stretch"></section>
 | 
						||
<section id="函数调用-练习" class="slide level2">
 | 
						||
<h2>函数调用-练习</h2>
 | 
						||
<h3 id="题目设有一组数据集合-x-包含了一些整数请编写r语言代码计算并输出以下指标">题目:设有一组数据集合 x 包含了一些整数,请编写R语言代码计算并输出以下指标:</h3>
 | 
						||
<ul>
 | 
						||
<li>平均值(mean)</li>
 | 
						||
<li>中位数(median)</li>
 | 
						||
<li>最大值(maximum)</li>
 | 
						||
<li>最小值(minimum)</li>
 | 
						||
<li>数据集合中所有元素的和(sum)</li>
 | 
						||
<li>数据集合的标准差(standard deviation)</li>
 | 
						||
<li>数据集合 x 为:x <- c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)</li>
 | 
						||
</ul>
 | 
						||
<p><strong>要求:使用R语言编写函数,输入参数为数据集合 x,输出为以上指标的值。</strong></p>
 | 
						||
</section>
 | 
						||
<section id="控制流程" class="slide level2">
 | 
						||
<h2>控制流程</h2>
 | 
						||
<h3 id="if-else-语句">if-else 语句</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb72"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb72-1"><a></a>x <span class="ot"><-</span> <span class="dv">10</span></span>
 | 
						||
<span id="cb72-2"><a></a></span>
 | 
						||
<span id="cb72-3"><a></a><span class="cf">if</span> (x <span class="sc">></span> <span class="dv">10</span>) {</span>
 | 
						||
<span id="cb72-4"><a></a>  <span class="fu">print</span>(<span class="st">"x 大于 10"</span>)</span>
 | 
						||
<span id="cb72-5"><a></a>} <span class="cf">else</span> {</span>
 | 
						||
<span id="cb72-6"><a></a>  <span class="fu">print</span>(<span class="st">"x 不大于 10"</span>)</span>
 | 
						||
<span id="cb72-7"><a></a>}</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "x 不大于 10"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="控制流程-1" class="slide level2">
 | 
						||
<h2>控制流程</h2>
 | 
						||
<h3 id="for-循环">for 循环</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb74"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb74-1"><a></a><span class="cf">for</span> (i <span class="cf">in</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>) {</span>
 | 
						||
<span id="cb74-2"><a></a>  <span class="fu">print</span>(i)</span>
 | 
						||
<span id="cb74-3"><a></a>}</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1
 | 
						||
[1] 2
 | 
						||
[1] 3
 | 
						||
[1] 4
 | 
						||
[1] 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="自定义函数" class="slide level2">
 | 
						||
<h2>自定义函数</h2>
 | 
						||
<h3 id="定义函数">定义函数</h3>
 | 
						||
<p>使用 <code>function</code> 关键字定义函数,并使用 <code>return</code> 关键字返回结果。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb76"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb76-1"><a></a>my_function <span class="ot"><-</span> <span class="cf">function</span>(x, y) {</span>
 | 
						||
<span id="cb76-2"><a></a>  <span class="fu">return</span>(x <span class="sc">+</span> y)</span>
 | 
						||
<span id="cb76-3"><a></a>}</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
</div>
 | 
						||
<h3 id="调用函数">调用函数</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb77"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb77-1"><a></a>result <span class="ot"><-</span> <span class="fu">my_function</span>(<span class="dv">3</span>, <span class="dv">4</span>)</span>
 | 
						||
<span id="cb77-2"><a></a><span class="fu">print</span>(result)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 7</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据结构" class="slide level2">
 | 
						||
<h2>数据结构</h2>
 | 
						||
<h3 id="向量">向量</h3>
 | 
						||
<p>向量是一维数组,可以包含相同类型的元素。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb79"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb79-1"><a></a>(v <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3 4 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
<h3 id="列表">列表</h3>
 | 
						||
<p>列表可以包含不同类型的元素。</p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb81"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb81-1"><a></a>(l <span class="ot"><-</span> <span class="fu">list</span>(<span class="at">a =</span> <span class="dv">1</span>, <span class="at">b =</span> <span class="st">"hello"</span>, <span class="at">c =</span> <span class="cn">TRUE</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>$a
 | 
						||
[1] 1
 | 
						||
 | 
						||
$b
 | 
						||
[1] "hello"
 | 
						||
 | 
						||
$c
 | 
						||
[1] TRUE</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数值型向量" class="slide level2">
 | 
						||
<h2>数值型向量</h2>
 | 
						||
<h3 id="什么是数值型向量">什么是数值型向量?</h3>
 | 
						||
<ul>
 | 
						||
<li>在 R 中,向量是一种基本的数据结构。</li>
 | 
						||
<li>数值型向量包含相同类型的数值元素。</li>
 | 
						||
</ul>
 | 
						||
<h3 id="创建数值型向量">创建数值型向量</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb83"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb83-1"><a></a><span class="co"># 使用 c() 函数创建数值型向量</span></span>
 | 
						||
<span id="cb83-2"><a></a>(numeric_vector <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3 4 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数值型向量-1" class="slide level2">
 | 
						||
<h2>数值型向量</h2>
 | 
						||
<h3 id="向量运算">向量运算</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb85"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb85-1"><a></a><span class="co"># 创建两个数值型向量</span></span>
 | 
						||
<span id="cb85-2"><a></a>(vector1 <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb87"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb87-1"><a></a>(vector2 <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">4</span>, <span class="dv">5</span>, <span class="dv">6</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 4 5 6</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb89"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb89-1"><a></a><span class="co"># 执行向量加法</span></span>
 | 
						||
<span id="cb89-2"><a></a>(result <span class="ot"><-</span> vector1 <span class="sc">+</span> vector2)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 5 7 9</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb91"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb91-1"><a></a><span class="co"># 执行向量乘法</span></span>
 | 
						||
<span id="cb91-2"><a></a>(result <span class="ot"><-</span> vector1 <span class="sc">*</span> vector2)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1]  4 10 18</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="向量运算-1" class="slide level2">
 | 
						||
<h2>向量运算</h2>
 | 
						||
<h3 id="向量求和">向量求和</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb93"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb93-1"><a></a><span class="co"># 创建数值型向量</span></span>
 | 
						||
<span id="cb93-2"><a></a>vector <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>)</span>
 | 
						||
<span id="cb93-3"><a></a></span>
 | 
						||
<span id="cb93-4"><a></a><span class="co"># 求和</span></span>
 | 
						||
<span id="cb93-5"><a></a>(sum_result <span class="ot"><-</span> <span class="fu">sum</span>(vector))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 15</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="向量运算-2" class="slide level2">
 | 
						||
<h2>向量运算</h2>
 | 
						||
<h3 id="向量平均值">向量平均值</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb95"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb95-1"><a></a><span class="co"># 创建数值型向量</span></span>
 | 
						||
<span id="cb95-2"><a></a>vector <span class="ot"><-</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>)</span>
 | 
						||
<span id="cb95-3"><a></a></span>
 | 
						||
<span id="cb95-4"><a></a><span class="co"># 平均值</span></span>
 | 
						||
<span id="cb95-5"><a></a>(mean_result <span class="ot"><-</span> <span class="fu">mean</span>(vector))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-数值运算" class="slide level2">
 | 
						||
<h2>运算-数值运算</h2>
 | 
						||
<ul>
 | 
						||
<li>a 的平方。</li>
 | 
						||
<li>b 的立方。</li>
 | 
						||
<li>a 除以 b 的商和余数。</li>
 | 
						||
</ul>
 | 
						||
<p><strong>要求:使用R语言编写函数,输入参数为 a 和 b,输出为上述结果。</strong></p>
 | 
						||
</section>
 | 
						||
<section id="运算-逻辑运算" class="slide level2">
 | 
						||
<h2>运算-逻辑运算</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb97"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb97-1"><a></a><span class="fu">all</span>(<span class="fu">c</span>(<span class="cn">FALSE</span>, <span class="dv">2</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">3</span>, <span class="dv">3</span>) <span class="sc">></span> <span class="dv">1</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] FALSE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb99"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb99-1"><a></a><span class="fu">any</span>(<span class="fu">c</span>(<span class="cn">FALSE</span>, <span class="dv">2</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">3</span>, <span class="dv">3</span>) <span class="sc">></span> <span class="dv">1</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] TRUE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb101"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb101-1"><a></a>(flag1 <span class="ot"><-</span> <span class="cn">FALSE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] FALSE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb103"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb103-1"><a></a>(flag2 <span class="ot"><-</span> (<span class="dv">3</span> <span class="sc">></span> <span class="dv">2</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] TRUE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb105"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb105-1"><a></a>(flag3 <span class="ot"><-</span> <span class="cn">TRUE</span> <span class="sc">*</span> <span class="cn">TRUE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb107"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb107-1"><a></a>(flag4 <span class="ot"><-</span> <span class="cn">TRUE</span> <span class="sc">*</span> <span class="cn">FALSE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 0</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb109"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb109-1"><a></a>(flag5 <span class="ot"><-</span> <span class="cn">TRUE</span> <span class="sc">&</span> <span class="cn">FALSE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] FALSE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb111"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb111-1"><a></a>(flag6 <span class="ot"><-</span> <span class="cn">TRUE</span> <span class="sc">|</span> <span class="cn">FALSE</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] TRUE</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-逻辑运算-1" class="slide level2">
 | 
						||
<h2>运算-逻辑运算</h2>
 | 
						||
<ul>
 | 
						||
<li><code>which</code></li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb113"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb113-1"><a></a><span class="fu">which</span>(<span class="fu">c</span>(<span class="cn">FALSE</span>, <span class="cn">TRUE</span>, <span class="cn">TRUE</span>, <span class="cn">FALSE</span>, <span class="cn">NA</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 2 3</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb115"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb115-1"><a></a><span class="fu">which</span>((<span class="dv">11</span><span class="sc">:</span><span class="dv">15</span>) <span class="sc">></span> <span class="dv">12</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3 4 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
<ul>
 | 
						||
<li><code>identical</code></li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb117"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb117-1"><a></a><span class="fu">identical</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>,<span class="dv">3</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>,<span class="cn">NA</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] FALSE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb119"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb119-1"><a></a><span class="fu">identical</span>(<span class="fu">c</span>(<span class="dv">1</span>L,<span class="dv">2</span>L,<span class="dv">3</span>L), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>,<span class="dv">3</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] FALSE</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-字符型" class="slide level2">
 | 
						||
<h2>运算-字符型</h2>
 | 
						||
<ul>
 | 
						||
<li>特殊字符</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb121"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb121-1"><a></a><span class="fu">c</span>(<span class="st">"abc"</span>, <span class="st">""</span>, <span class="st">'a cat'</span>, <span class="cn">NA</span>, <span class="st">'李明'</span>, <span class="st">"</span><span class="sc">\n</span><span class="st">"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "abc"   ""      "a cat" NA      "李明"  "\n"   </code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
<ul>
 | 
						||
<li><code>paste</code></li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb123"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb123-1"><a></a>(users <span class="ot"><-</span> <span class="fu">paste</span>(<span class="st">"ruser"</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">9</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "ruser 1" "ruser 2" "ruser 3" "ruser 4" "ruser 5" "ruser 6" "ruser 7"
 | 
						||
[8] "ruser 8" "ruser 9"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb125"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb125-1"><a></a><span class="fu">paste</span>(users, <span class="at">collapse =</span> <span class="st">", "</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "ruser 1, ruser 2, ruser 3, ruser 4, ruser 5, ruser 6, ruser 7, ruser 8, ruser 9"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-字符型-1" class="slide level2">
 | 
						||
<h2>运算-字符型</h2>
 | 
						||
<ul>
 | 
						||
<li>大小写</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb127"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb127-1"><a></a>letters[<span class="dv">1</span><span class="sc">:</span><span class="dv">5</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "a" "b" "c" "d" "e"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb129"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb129-1"><a></a><span class="fu">toupper</span>(letters[<span class="dv">6</span><span class="sc">:</span><span class="dv">9</span>])</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "F" "G" "H" "I"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb131"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb131-1"><a></a><span class="fu">tolower</span>(month.abb)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1] "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb133"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb133-1"><a></a>stringr<span class="sc">::</span><span class="fu">str_to_title</span>(<span class="fu">c</span>(<span class="st">"monday"</span>, <span class="st">"tuesday"</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Monday"  "Tuesday"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-字符型-2" class="slide level2">
 | 
						||
<h2>运算-字符型</h2>
 | 
						||
<ul>
 | 
						||
<li>字符串截取</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb135"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb135-1"><a></a><span class="fu">substr</span>(<span class="st">"Monday"</span>, <span class="dv">1</span>, <span class="dv">3</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Mon"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb137"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb137-1"><a></a>stringr<span class="sc">::</span><span class="fu">str_sub</span>(<span class="st">"Monday"</span>, <span class="dv">1</span>, <span class="dv">3</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Mon"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-字符型-3" class="slide level2">
 | 
						||
<h2>运算-字符型</h2>
 | 
						||
<ul>
 | 
						||
<li>类型转换</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb139"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb139-1"><a></a><span class="dv">100</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 100</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb141"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb141-1"><a></a><span class="fu">as.character</span>(<span class="dv">100</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "100"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb143"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb143-1"><a></a><span class="fu">as.numeric</span>(<span class="fu">c</span>(<span class="st">"0100"</span>, <span class="st">"0101"</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 100 101</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb145"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb145-1"><a></a><span class="fu">sprintf</span>(<span class="st">'renamedfile%03d.png'</span>, <span class="fu">c</span>(<span class="dv">3</span>, <span class="dv">99</span>, <span class="dv">100</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "renamedfile003.png" "renamedfile099.png" "renamedfile100.png"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="运算-字符型-4" class="slide level2">
 | 
						||
<h2>运算-字符型</h2>
 | 
						||
<ul>
 | 
						||
<li>字符串替换</li>
 | 
						||
</ul>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb147"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb147-1"><a></a>(mystr <span class="ot"><-</span> <span class="st">"He was wrong!"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "He was wrong!"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb149"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb149-1"><a></a><span class="fu">gsub</span>(<span class="st">"wrong"</span>, <span class="st">"right"</span>, mystr)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "He was right!"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="索引" class="slide level2">
 | 
						||
<h2>索引</h2>
 | 
						||
<h3 id="向量-1">向量</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb151"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb151-1"><a></a><span class="co"># 创建一个向量</span></span>
 | 
						||
<span id="cb151-2"><a></a>vector <span class="ot"><-</span> <span class="fu">c</span>(<span class="st">"apple"</span>, <span class="st">"banana"</span>, <span class="st">"cherry"</span>, <span class="st">"date"</span>)</span>
 | 
						||
<span id="cb151-3"><a></a><span class="co"># 访问第三个元素</span></span>
 | 
						||
<span id="cb151-4"><a></a>vector[<span class="dv">3</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "cherry"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb153"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb153-1"><a></a><span class="co"># 访问多个元素</span></span>
 | 
						||
<span id="cb153-2"><a></a>vector[<span class="fu">c</span>(<span class="dv">2</span>, <span class="dv">4</span>)]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "banana" "date"  </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb155"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb155-1"><a></a>vector[<span class="fu">c</span>(<span class="dv">2</span><span class="sc">:</span><span class="dv">4</span>)]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "banana" "cherry" "date"  </code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="索引-1" class="slide level2">
 | 
						||
<h2>索引</h2>
 | 
						||
<h3 id="向量-2">向量</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb157"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb157-1"><a></a><span class="co"># 除了第2个元素</span></span>
 | 
						||
<span id="cb157-2"><a></a>vector[<span class="sc">-</span><span class="dv">2</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "apple"  "cherry" "date"  </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb159"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb159-1"><a></a><span class="co"># 超界</span></span>
 | 
						||
<span id="cb159-2"><a></a>vector[<span class="dv">100</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] NA</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb161"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb161-1"><a></a><span class="co"># 更新数据</span></span>
 | 
						||
<span id="cb161-2"><a></a>vector[<span class="dv">7</span>] <span class="ot"><-</span> <span class="st">"New Data"</span></span>
 | 
						||
<span id="cb161-3"><a></a>vector</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "apple"    "banana"   "cherry"   "date"     NA         NA         "New Data"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="索引-2" class="slide level2">
 | 
						||
<h2>索引</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb163"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb163-1"><a></a>(x <span class="ot"><-</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">10</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1]  1  2  3  4  5  6  7  8  9 10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb165"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb165-1"><a></a>x[x <span class="sc">></span> <span class="dv">6</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1]  7  8  9 10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb167"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb167-1"><a></a>x[x <span class="sc"><</span> <span class="dv">3</span>] <span class="ot"><-</span> <span class="dv">99</span></span>
 | 
						||
<span id="cb167-2"><a></a>x</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1] 99 99  3  4  5  6  7  8  9 10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb169"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb169-1"><a></a><span class="co"># which</span></span>
 | 
						||
<span id="cb169-2"><a></a><span class="fu">which</span>(x <span class="sc">></span> <span class="dv">10</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb171"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb171-1"><a></a><span class="fu">which.max</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb173"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb173-1"><a></a><span class="fu">which.min</span>(x)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="索引-3" class="slide level2">
 | 
						||
<h2>索引</h2>
 | 
						||
<h3 id="列表-1">列表</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb175"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb175-1"><a></a><span class="co"># 创建一个列表</span></span>
 | 
						||
<span id="cb175-2"><a></a>my_list <span class="ot"><-</span> <span class="fu">list</span>(<span class="at">fruit =</span> <span class="fu">c</span>(<span class="st">"apple"</span>, <span class="st">"banana"</span>, <span class="st">"cherry"</span>),</span>
 | 
						||
<span id="cb175-3"><a></a>                <span class="at">numbers =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">5</span>))</span>
 | 
						||
<span id="cb175-4"><a></a></span>
 | 
						||
<span id="cb175-5"><a></a><span class="co"># 访问列表中的第二个元素</span></span>
 | 
						||
<span id="cb175-6"><a></a>my_list[[<span class="dv">2</span>]]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 2 3 4 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="索引-4" class="slide level2">
 | 
						||
<h2>索引</h2>
 | 
						||
<h3 id="数据框">数据框</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb177"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb177-1"><a></a><span class="co"># 创建一个数据框</span></span>
 | 
						||
<span id="cb177-2"><a></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(<span class="at">fruit =</span> <span class="fu">c</span>(<span class="st">"apple"</span>, <span class="st">"banana"</span>, <span class="st">"cherry"</span>),</span>
 | 
						||
<span id="cb177-3"><a></a>                 <span class="at">quantity =</span> <span class="fu">c</span>(<span class="dv">5</span>, <span class="dv">7</span>, <span class="dv">3</span>))</span>
 | 
						||
<span id="cb177-4"><a></a></span>
 | 
						||
<span id="cb177-5"><a></a><span class="co"># 访问数据框中的第一个元素</span></span>
 | 
						||
<span id="cb177-6"><a></a>df[<span class="dv">1</span>, <span class="dv">1</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "apple"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb179"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb179-1"><a></a><span class="co"># 第2-3行</span></span>
 | 
						||
<span id="cb179-2"><a></a>df[<span class="dv">2</span><span class="sc">:</span><span class="dv">3</span>, ]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>   fruit quantity
 | 
						||
2 banana        7
 | 
						||
3 cherry        3</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="日期和时间" class="slide level2">
 | 
						||
<h2>日期和时间</h2>
 | 
						||
<h3 id="base-package"><code>base</code> package</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb181"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb181-1"><a></a><span class="fu">as.Date</span>(<span class="st">"2024-01-01"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2024-01-01"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb183"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb183-1"><a></a><span class="fu">as.POSIXct</span>(<span class="dv">1</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "1970-01-01 08:00:01 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb185"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb185-1"><a></a><span class="fu">as.Date</span>(<span class="fu">c</span>(<span class="st">"12/6/2022"</span>, <span class="st">"1/1/2023"</span>), <span class="at">format=</span><span class="st">"%m/%d/%Y"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2022-12-06" "2023-01-01"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="日期和时间-1" class="slide level2">
 | 
						||
<h2>日期和时间</h2>
 | 
						||
<h3 id="lubridate-package"><code>lubridate</code> package</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb187"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb187-1"><a></a>lubridate<span class="sc">::</span><span class="fu">today</span>()</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb189"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb189-1"><a></a><span class="fu">require</span>(lubridate)</span>
 | 
						||
<span id="cb189-2"><a></a><span class="fu">now</span>()</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 19:40:31 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb191"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb191-1"><a></a><span class="fu">ymd</span>(<span class="fu">c</span>(<span class="dv">20200321</span>, <span class="dv">240404</span>, <span class="st">"20181231"</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2020-03-21" "2024-04-04" "2018-12-31"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb193"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb193-1"><a></a><span class="fu">mdy</span>(<span class="fu">c</span>(<span class="st">"3-10-1998"</span>, <span class="st">"01-17-2018"</span>, <span class="st">"Feb 3, 2024"</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "1998-03-10" "2018-01-17" "2024-02-03"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb195"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb195-1"><a></a><span class="fu">ymd_hms</span>(<span class="st">"1998-03-16 13:15:45"</span>, <span class="at">tz =</span> <span class="st">"Asia/Shanghai"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "1998-03-16 13:15:45 CST"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="日期和时间-2" class="slide level2">
 | 
						||
<h2>日期和时间</h2>
 | 
						||
<h3 id="lubridate-package-1"><code>lubridate</code> package</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb197"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb197-1"><a></a><span class="fu">make_date</span>(<span class="dv">2028</span>, <span class="dv">1</span>, <span class="dv">30</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2028-01-30"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb199"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb199-1"><a></a><span class="fu">as_date</span>(<span class="st">"2000-01-01"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2000-01-01"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb201"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb201-1"><a></a><span class="fu">as_datetime</span>(<span class="st">"2000-01-01"</span>, <span class="at">tz =</span> <span class="st">"Asia/Shanghai"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2000-01-01 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb203"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb203-1"><a></a><span class="fu">as_datetime</span>(<span class="st">"2024-02-01 8:00:00"</span>, <span class="at">tz =</span> <span class="st">"Asia/Shanghai"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2024-02-01 08:00:00 CST"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="日期和时间-3" class="slide level2">
 | 
						||
<h2>日期和时间</h2>
 | 
						||
<h3 id="lubridate-package-2"><code>lubridate</code> package</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb205"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb205-1"><a></a><span class="fu">year</span>(<span class="fu">today</span>())</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 2025</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb207"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb207-1"><a></a><span class="fu">wday</span>(<span class="fu">today</span>())</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 2</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb209"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb209-1"><a></a><span class="fu">hour</span>(<span class="fu">now</span>())</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 19</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="日期和时间-4" class="slide level2">
 | 
						||
<h2>日期和时间</h2>
 | 
						||
<h3 id="lubridate-package-3"><code>lubridate</code> package</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb211"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb211-1"><a></a>(x <span class="ot"><-</span> <span class="fu">now</span>())</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 19:40:31 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb213"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb213-1"><a></a><span class="fu">floor_date</span>(x, <span class="at">unit =</span> <span class="st">"day"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb215"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb215-1"><a></a><span class="fu">floor_date</span>(x, <span class="at">unit =</span> <span class="st">"hour"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 19:00:00 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb217"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb217-1"><a></a><span class="fu">floor_date</span>(x, <span class="at">unit =</span> <span class="st">"10 minutes"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 19:40:00 CST"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb219"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb219-1"><a></a><span class="fu">ceiling_date</span>(x, <span class="at">unit =</span> <span class="st">"10 minutes"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "2025-03-17 19:50:00 CST"</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="因子factor" class="slide level2">
 | 
						||
<h2>因子(factor)</h2>
 | 
						||
<h3 id="factor是什么">Factor是什么?</h3>
 | 
						||
<ul>
 | 
						||
<li>在R中,Factor是用来表示分类数据的特殊数据类型。</li>
 | 
						||
<li>它将数据分成不同的水平(levels),每个水平代表了一个类别。</li>
 | 
						||
</ul>
 | 
						||
</section>
 | 
						||
<section id="因子factor-1" class="slide level2">
 | 
						||
<h2>因子(factor)</h2>
 | 
						||
<h3 id="创建factor">创建Factor</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb221"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb221-1"><a></a><span class="co"># 创建一个Factor</span></span>
 | 
						||
<span id="cb221-2"><a></a>gender <span class="ot"><-</span> <span class="fu">factor</span>(<span class="fu">c</span>(<span class="st">"Male"</span>, <span class="st">"Female"</span>, <span class="st">"Female"</span>, <span class="st">"Male"</span>))</span>
 | 
						||
<span id="cb221-3"><a></a><span class="co"># 查看Factor的水平</span></span>
 | 
						||
<span id="cb221-4"><a></a><span class="fu">levels</span>(gender)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Female" "Male"  </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb223"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb223-1"><a></a><span class="co"># 改变Factor的水平顺序</span></span>
 | 
						||
<span id="cb223-2"><a></a>gender <span class="ot"><-</span> <span class="fu">factor</span>(gender, <span class="at">levels =</span> <span class="fu">c</span>(<span class="st">"Female"</span>, <span class="st">"Male"</span>))</span>
 | 
						||
<span id="cb223-3"><a></a><span class="fu">summary</span>(gender) <span class="co"># 使用Factor进行分组</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>Female   Male 
 | 
						||
     2      2 </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb225"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb225-1"><a></a><span class="fu">as.numeric</span>(gender) <span class="co"># 因子转换为纯粹的整数值</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 2 1 1 2</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb227"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb227-1"><a></a><span class="fu">as.character</span>(gender) <span class="co"># 转为字符</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Male"   "Female" "Female" "Male"  </code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="因子factor-2" class="slide level2">
 | 
						||
<h2>因子(factor)</h2>
 | 
						||
<h3 id="label-of-factor">Label of Factor</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb229"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb229-1"><a></a>(x <span class="ot"><-</span> <span class="fu">factor</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">12</span>, <span class="at">label =</span> month.abb))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1] Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
 | 
						||
Levels: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb231"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb231-1"><a></a><span class="fu">factor</span>(x, <span class="at">levels =</span> month.abb[<span class="fu">c</span>(<span class="dv">2</span><span class="sc">:</span><span class="dv">12</span>, <span class="dv">1</span>)])</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1] Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
 | 
						||
Levels: Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
<h3 id="分组">分组</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb233"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb233-1"><a></a><span class="fu">cut</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">20</span>, <span class="at">breaks=</span><span class="fu">c</span>(<span class="dv">0</span>, <span class="dv">5</span>, <span class="dv">10</span>, <span class="dv">15</span>, <span class="dv">18</span>, <span class="dv">20</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1] (0,5]   (0,5]   (0,5]   (0,5]   (0,5]   (5,10]  (5,10]  (5,10]  (5,10] 
 | 
						||
[10] (5,10]  (10,15] (10,15] (10,15] (10,15] (10,15] (15,18] (15,18] (15,18]
 | 
						||
[19] (18,20] (18,20]
 | 
						||
Levels: (0,5] (5,10] (10,15] (15,18] (18,20]</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="矩阵" class="slide level2">
 | 
						||
<h2>矩阵</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb235"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb235-1"><a></a><span class="dv">1</span><span class="sc">:</span><span class="dv">20</span></span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code> [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb237"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb237-1"><a></a>(A <span class="ot"><-</span> <span class="fu">matrix</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">20</span>, <span class="at">nrow =</span> <span class="dv">4</span>, <span class="at">byrow =</span> <span class="cn">TRUE</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2] [,3] [,4] [,5]
 | 
						||
[1,]    1    2    3    4    5
 | 
						||
[2,]    6    7    8    9   10
 | 
						||
[3,]   11   12   13   14   15
 | 
						||
[4,]   16   17   18   19   20</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb239"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb239-1"><a></a>(B <span class="ot"><-</span> <span class="fu">matrix</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">20</span>, <span class="at">nrow =</span> <span class="dv">4</span>, <span class="at">byrow =</span> <span class="cn">FALSE</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2] [,3] [,4] [,5]
 | 
						||
[1,]    1    5    9   13   17
 | 
						||
[2,]    2    6   10   14   18
 | 
						||
[3,]    3    7   11   15   19
 | 
						||
[4,]    4    8   12   16   20</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb241"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb241-1"><a></a><span class="fu">nrow</span>(A)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 4</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb243"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb243-1"><a></a><span class="fu">ncol</span>(B)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 5</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="矩阵-1" class="slide level2">
 | 
						||
<h2>矩阵</h2>
 | 
						||
<h3 id="高维矩阵">高维矩阵</h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb245"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb245-1"><a></a>X <span class="ot"><-</span> <span class="fu">array</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">12</span>, <span class="at">dim =</span> <span class="fu">c</span>(<span class="dv">3</span>, <span class="dv">2</span>, <span class="dv">2</span>))</span>
 | 
						||
<span id="cb245-2"><a></a><span class="fu">dim</span>(C)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>NULL</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb247"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb247-1"><a></a>X[<span class="dv">1</span>, , ]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2]
 | 
						||
[1,]    1    7
 | 
						||
[2,]    4   10</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb249"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb249-1"><a></a>X[<span class="dv">1</span>, , <span class="dv">1</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 1 4</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="矩阵-2" class="slide level2">
 | 
						||
<h2>矩阵</h2>
 | 
						||
<h3 id="cbindrbind"><code>cbind</code>、<code>rbind</code></h3>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb251"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb251-1"><a></a><span class="fu">cbind</span>(X[<span class="dv">1</span>, , ], X[<span class="dv">2</span>, , ], X[<span class="dv">3</span>, , ])</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2] [,3] [,4] [,5] [,6]
 | 
						||
[1,]    1    7    2    8    3    9
 | 
						||
[2,]    4   10    5   11    6   12</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb253"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb253-1"><a></a><span class="fu">rbind</span>(X[<span class="dv">1</span>, , ], X[<span class="dv">2</span>, , ], X[<span class="dv">3</span>, , ])</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2]
 | 
						||
[1,]    1    7
 | 
						||
[2,]    4   10
 | 
						||
[3,]    2    8
 | 
						||
[4,]    5   11
 | 
						||
[5,]    3    9
 | 
						||
[6,]    6   12</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb255"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb255-1"><a></a><span class="fu">cbind</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>), <span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">4</span>), <span class="fu">c</span>(<span class="dv">5</span>,<span class="dv">6</span>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     [,1] [,2] [,3]
 | 
						||
[1,]    1    3    5
 | 
						||
[2,]    2    4    6</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据框data-frame" class="slide level2">
 | 
						||
<h2>数据框(data frame)</h2>
 | 
						||
<p><strong>最主要的数据形式。</strong></p>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb257"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb257-1"><a></a><span class="co"># 创建数据框</span></span>
 | 
						||
<span id="cb257-2"><a></a>(df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
 | 
						||
<span id="cb257-3"><a></a>  <span class="at">Name =</span> <span class="fu">c</span>(<span class="st">"Alice"</span>, <span class="st">"Bob"</span>, <span class="st">"Charlie"</span>),</span>
 | 
						||
<span id="cb257-4"><a></a>  <span class="at">Age =</span> <span class="fu">c</span>(<span class="dv">25</span>, <span class="dv">30</span>, <span class="dv">35</span>),</span>
 | 
						||
<span id="cb257-5"><a></a>  <span class="at">Married =</span> <span class="fu">c</span>(<span class="cn">TRUE</span>, <span class="cn">FALSE</span>, <span class="cn">TRUE</span>)</span>
 | 
						||
<span id="cb257-6"><a></a>))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>     Name Age Married
 | 
						||
1   Alice  25    TRUE
 | 
						||
2     Bob  30   FALSE
 | 
						||
3 Charlie  35    TRUE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb259"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb259-1"><a></a><span class="fu">names</span>(df)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Name"    "Age"     "Married"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb261"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb261-1"><a></a><span class="fu">colnames</span>(df)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Name"    "Age"     "Married"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb263"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb263-1"><a></a><span class="fu">ncol</span>(df); <span class="fu">nrow</span>(df)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3</code></pre>
 | 
						||
</div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 3</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据框data-frame-1" class="slide level2">
 | 
						||
<h2>数据框(data frame)</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb266"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb266-1"><a></a>df[<span class="dv">1</span>, <span class="dv">1</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Alice"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb268"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb268-1"><a></a>df[<span class="dv">2</span>, ]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>  Name Age Married
 | 
						||
2  Bob  30   FALSE</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb270"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb270-1"><a></a>df[, <span class="dv">1</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "Alice"   "Bob"     "Charlie"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb272"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb272-1"><a></a>df<span class="sc">$</span>Age</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 25 30 35</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb274"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb274-1"><a></a>df[[<span class="st">"Age"</span>]]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 25 30 35</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb276"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb276-1"><a></a>df[, <span class="st">"Age"</span>]</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] 25 30 35</code></pre>
 | 
						||
</div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="数据框data-frame-2" class="slide level2">
 | 
						||
<h2>数据框(data frame)</h2>
 | 
						||
<div class="cell">
 | 
						||
<div class="sourceCode cell-code" id="cb278"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb278-1"><a></a>X <span class="ot"><-</span> <span class="fu">matrix</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">9</span>, <span class="at">nrow =</span> <span class="dv">3</span>)</span>
 | 
						||
<span id="cb278-2"><a></a><span class="fu">class</span>(X)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "matrix" "array" </code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb280"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb280-1"><a></a>(Y <span class="ot"><-</span> <span class="fu">as.data.frame</span>(X))</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>  V1 V2 V3
 | 
						||
1  1  4  7
 | 
						||
2  2  5  8
 | 
						||
3  3  6  9</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb282"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb282-1"><a></a><span class="fu">names</span>(Y)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
<div class="cell-output cell-output-stdout">
 | 
						||
<pre><code>[1] "V1" "V2" "V3"</code></pre>
 | 
						||
</div>
 | 
						||
<div class="sourceCode cell-code" id="cb284"><pre class="sourceCode numberSource r number-lines code-with-copy"><code class="sourceCode r"><span id="cb284-1"><a></a><span class="fu">names</span>(Y) <span class="ot"><-</span> <span class="fu">c</span>(<span class="st">"colA"</span>, <span class="st">"colB"</span>, <span class="st">"colC"</span>)</span></code><button title="复制到剪贴板" class="code-copy-button"><i class="bi"></i></button></pre></div>
 | 
						||
</div>
 | 
						||
</section>
 | 
						||
<section id="欢迎讨论" class="slide level2 center">
 | 
						||
<h2>欢迎讨论!</h2>
 | 
						||
<span class="r-fit-text"><svg viewbox="0 0 576 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path> </svg><a href="https://drwater.rcees.ac.cn">苏命|https://drwater.rcees.ac.cn</a>; <svg viewbox="0 0 576 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z"></path> </svg><a href="https://drwater.rcees.ac.cn/bcard">https://drwater.rcees.ac.cn/bcard</a>; <svg viewbox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path> </svg><a href="../">Slides</a></span><br><br>
 | 
						||
<div class="columns">
 | 
						||
<div class="column" style="width:30%;">
 | 
						||
<span class="r-fit-text"><svg viewbox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"></path> </svg><a href="mailto:mingsu@rcees.ac.cn">mingsu@rcees.ac.cn</a>;</span><br>
 | 
						||
</div></div>
 | 
						||
 | 
						||
 | 
						||
</section>
 | 
						||
    </div>
 | 
						||
  <div class="quarto-auto-generated-content" style="display: none;">
 | 
						||
<p><img src="./_extensions/inst/img/ucaslogo.png" class="slide-logo"></p>
 | 
						||
<div class="footer footer-default">
 | 
						||
 | 
						||
</div>
 | 
						||
</div></div>
 | 
						||
 | 
						||
  <script>window.backupDefine = window.define; window.define = undefined;</script>
 | 
						||
  <script src="../../site_libs/revealjs/dist/reveal.js"></script>
 | 
						||
  <!-- reveal.js plugins -->
 | 
						||
  <script src="../../site_libs/revealjs/plugin/quarto-line-highlight/line-highlight.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/pdf-export/pdfexport.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/reveal-menu/menu.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/reveal-menu/quarto-menu.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/reveal-chalkboard/plugin.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/reveal-pointer/pointer.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/quarto-support/support.js"></script>
 | 
						||
  
 | 
						||
 | 
						||
  <script src="../../site_libs/revealjs/plugin/notes/notes.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/search/search.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/zoom/zoom.js"></script>
 | 
						||
  <script src="../../site_libs/revealjs/plugin/math/math.js"></script>
 | 
						||
  <script>window.define = window.backupDefine; window.backupDefine = undefined;</script>
 | 
						||
 | 
						||
  <script>
 | 
						||
 | 
						||
      // Full list of configuration options available at:
 | 
						||
      // https://revealjs.com/config/
 | 
						||
      Reveal.initialize({
 | 
						||
'controlsAuto': true,
 | 
						||
'previewLinksAuto': true,
 | 
						||
'pdfSeparateFragments': false,
 | 
						||
'autoAnimateEasing': "ease",
 | 
						||
'autoAnimateDuration': 1,
 | 
						||
'autoAnimateUnmatched': true,
 | 
						||
'jumpToSlide': true,
 | 
						||
'menu': {"side":"left","useTextContentForMissingTitles":true,"markers":false,"loadIcons":false,"custom":[{"title":"Tools","icon":"<i class=\"fas fa-gear\"></i>","content":"<ul class=\"slide-menu-items\">\n<li class=\"slide-tool-item active\" data-item=\"0\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.fullscreen(event)\"><kbd>f</kbd> Fullscreen</a></li>\n<li class=\"slide-tool-item\" data-item=\"1\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.speakerMode(event)\"><kbd>s</kbd> Speaker View</a></li>\n<li class=\"slide-tool-item\" data-item=\"2\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.overview(event)\"><kbd>o</kbd> Slide Overview</a></li>\n<li class=\"slide-tool-item\" data-item=\"3\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.togglePdfExport(event)\"><kbd>e</kbd> PDF Export Mode</a></li>\n<li class=\"slide-tool-item\" data-item=\"4\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.toggleScrollView(event)\"><kbd>r</kbd> Scroll View Mode</a></li>\n<li class=\"slide-tool-item\" data-item=\"5\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.toggleChalkboard(event)\"><kbd>b</kbd> Toggle Chalkboard</a></li>\n<li class=\"slide-tool-item\" data-item=\"6\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.toggleNotesCanvas(event)\"><kbd>c</kbd> Toggle Notes Canvas</a></li>\n<li class=\"slide-tool-item\" data-item=\"7\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.downloadDrawings(event)\"><kbd>d</kbd> Download Drawings</a></li>\n<li class=\"slide-tool-item\" data-item=\"8\"><a href=\"#\" onclick=\"RevealMenuToolHandlers.keyboardHelp(event)\"><kbd>?</kbd> Keyboard Help</a></li>\n</ul>"}],"openButton":true},
 | 
						||
'chalkboard': {"buttons":true},
 | 
						||
'pointer': {"key":"p","color":"#32cd32","pointerSize":18,"alwaysVisible":false},
 | 
						||
'smaller': false,
 | 
						||
 
 | 
						||
        // Display controls in the bottom right corner
 | 
						||
        controls: false,
 | 
						||
 | 
						||
        // Help the user learn the controls by providing hints, for example by
 | 
						||
        // bouncing the down arrow when they first encounter a vertical slide
 | 
						||
        controlsTutorial: false,
 | 
						||
 | 
						||
        // Determines where controls appear, "edges" or "bottom-right"
 | 
						||
        controlsLayout: 'edges',
 | 
						||
 | 
						||
        // Visibility rule for backwards navigation arrows; "faded", "hidden"
 | 
						||
        // or "visible"
 | 
						||
        controlsBackArrows: 'faded',
 | 
						||
 | 
						||
        // Display a presentation progress bar
 | 
						||
        progress: true,
 | 
						||
 | 
						||
        // Display the page number of the current slide
 | 
						||
        slideNumber: 'c/t',
 | 
						||
 | 
						||
        // 'all', 'print', or 'speaker'
 | 
						||
        showSlideNumber: 'all',
 | 
						||
 | 
						||
        // Add the current slide number to the URL hash so that reloading the
 | 
						||
        // page/copying the URL will return you to the same slide
 | 
						||
        hash: true,
 | 
						||
 | 
						||
        // Start with 1 for the hash rather than 0
 | 
						||
        hashOneBasedIndex: false,
 | 
						||
 | 
						||
        // Flags if we should monitor the hash and change slides accordingly
 | 
						||
        respondToHashChanges: true,
 | 
						||
 | 
						||
        // Push each slide change to the browser history
 | 
						||
        history: true,
 | 
						||
 | 
						||
        // Enable keyboard shortcuts for navigation
 | 
						||
        keyboard: true,
 | 
						||
 | 
						||
        // Enable the slide overview mode
 | 
						||
        overview: true,
 | 
						||
 | 
						||
        // Disables the default reveal.js slide layout (scaling and centering)
 | 
						||
        // so that you can use custom CSS layout
 | 
						||
        disableLayout: false,
 | 
						||
 | 
						||
        // Vertical centering of slides
 | 
						||
        center: false,
 | 
						||
 | 
						||
        // Enables touch navigation on devices with touch input
 | 
						||
        touch: true,
 | 
						||
 | 
						||
        // Loop the presentation
 | 
						||
        loop: false,
 | 
						||
 | 
						||
        // Change the presentation direction to be RTL
 | 
						||
        rtl: false,
 | 
						||
 | 
						||
        // see https://revealjs.com/vertical-slides/#navigation-mode
 | 
						||
        navigationMode: 'linear',
 | 
						||
 | 
						||
        // Randomizes the order of slides each time the presentation loads
 | 
						||
        shuffle: false,
 | 
						||
 | 
						||
        // Turns fragments on and off globally
 | 
						||
        fragments: true,
 | 
						||
 | 
						||
        // Flags whether to include the current fragment in the URL,
 | 
						||
        // so that reloading brings you to the same fragment position
 | 
						||
        fragmentInURL: false,
 | 
						||
 | 
						||
        // Flags if the presentation is running in an embedded mode,
 | 
						||
        // i.e. contained within a limited portion of the screen
 | 
						||
        embedded: false,
 | 
						||
 | 
						||
        // Flags if we should show a help overlay when the questionmark
 | 
						||
        // key is pressed
 | 
						||
        help: true,
 | 
						||
 | 
						||
        // Flags if it should be possible to pause the presentation (blackout)
 | 
						||
        pause: true,
 | 
						||
 | 
						||
        // Flags if speaker notes should be visible to all viewers
 | 
						||
        showNotes: false,
 | 
						||
 | 
						||
        // Global override for autoplaying embedded media (null/true/false)
 | 
						||
        autoPlayMedia: null,
 | 
						||
 | 
						||
        // Global override for preloading lazy-loaded iframes (null/true/false)
 | 
						||
        preloadIframes: null,
 | 
						||
 | 
						||
        // Number of milliseconds between automatically proceeding to the
 | 
						||
        // next slide, disabled when set to 0, this value can be overwritten
 | 
						||
        // by using a data-autoslide attribute on your slides
 | 
						||
        autoSlide: 0,
 | 
						||
 | 
						||
        // Stop auto-sliding after user input
 | 
						||
        autoSlideStoppable: true,
 | 
						||
 | 
						||
        // Use this method for navigation when auto-sliding
 | 
						||
        autoSlideMethod: null,
 | 
						||
 | 
						||
        // Specify the average time in seconds that you think you will spend
 | 
						||
        // presenting each slide. This is used to show a pacing timer in the
 | 
						||
        // speaker view
 | 
						||
        defaultTiming: null,
 | 
						||
 | 
						||
        // Enable slide navigation via mouse wheel
 | 
						||
        mouseWheel: false,
 | 
						||
 | 
						||
        // The display mode that will be used to show slides
 | 
						||
        display: 'block',
 | 
						||
 | 
						||
        // Hide cursor if inactive
 | 
						||
        hideInactiveCursor: true,
 | 
						||
 | 
						||
        // Time before the cursor is hidden (in ms)
 | 
						||
        hideCursorTime: 5000,
 | 
						||
 | 
						||
        // Opens links in an iframe preview overlay
 | 
						||
        previewLinks: false,
 | 
						||
 | 
						||
        // Transition style (none/fade/slide/convex/concave/zoom)
 | 
						||
        transition: 'none',
 | 
						||
 | 
						||
        // Transition speed (default/fast/slow)
 | 
						||
        transitionSpeed: 'default',
 | 
						||
 | 
						||
        // Transition style for full page slide backgrounds
 | 
						||
        // (none/fade/slide/convex/concave/zoom)
 | 
						||
        backgroundTransition: 'none',
 | 
						||
 | 
						||
        // Number of slides away from the current that are visible
 | 
						||
        viewDistance: 3,
 | 
						||
 | 
						||
        // Number of slides away from the current that are visible on mobile
 | 
						||
        // devices. It is advisable to set this to a lower number than
 | 
						||
        // viewDistance in order to save resources.
 | 
						||
        mobileViewDistance: 2,
 | 
						||
 | 
						||
        // The "normal" size of the presentation, aspect ratio will be preserved
 | 
						||
        // when the presentation is scaled to fit different resolutions. Can be
 | 
						||
        // specified using percentage units.
 | 
						||
        width: 1050,
 | 
						||
 | 
						||
        height: 700,
 | 
						||
 | 
						||
        // Factor of the display size that should remain empty around the content
 | 
						||
        margin: 0.1,
 | 
						||
 | 
						||
        math: {
 | 
						||
          mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js',
 | 
						||
          config: 'TeX-AMS_HTML-full',
 | 
						||
          tex2jax: {
 | 
						||
            inlineMath: [['\\(','\\)']],
 | 
						||
            displayMath: [['\\[','\\]']],
 | 
						||
            balanceBraces: true,
 | 
						||
            processEscapes: false,
 | 
						||
            processRefs: true,
 | 
						||
            processEnvironments: true,
 | 
						||
            preview: 'TeX',
 | 
						||
            skipTags: ['script','noscript','style','textarea','pre','code'],
 | 
						||
            ignoreClass: 'tex2jax_ignore',
 | 
						||
            processClass: 'tex2jax_process'
 | 
						||
          },
 | 
						||
        },
 | 
						||
 | 
						||
        // reveal.js plugins
 | 
						||
        plugins: [QuartoLineHighlight, PdfExport, RevealMenu, RevealChalkboard, RevealPointer, QuartoSupport,
 | 
						||
 | 
						||
          RevealMath,
 | 
						||
          RevealNotes,
 | 
						||
          RevealSearch,
 | 
						||
          RevealZoom
 | 
						||
        ]
 | 
						||
      });
 | 
						||
    </script>
 | 
						||
    
 | 
						||
    <script>
 | 
						||
      // htmlwidgets need to know to resize themselves when slides are shown/hidden.
 | 
						||
      // Fire the "slideenter" event (handled by htmlwidgets.js) when the current
 | 
						||
      // slide changes (different for each slide format).
 | 
						||
      (function () {
 | 
						||
        // dispatch for htmlwidgets
 | 
						||
        function fireSlideEnter() {
 | 
						||
          const event = window.document.createEvent("Event");
 | 
						||
          event.initEvent("slideenter", true, true);
 | 
						||
          window.document.dispatchEvent(event);
 | 
						||
        }
 | 
						||
 | 
						||
        function fireSlideChanged(previousSlide, currentSlide) {
 | 
						||
          fireSlideEnter();
 | 
						||
 | 
						||
          // dispatch for shiny
 | 
						||
          if (window.jQuery) {
 | 
						||
            if (previousSlide) {
 | 
						||
              window.jQuery(previousSlide).trigger("hidden");
 | 
						||
            }
 | 
						||
            if (currentSlide) {
 | 
						||
              window.jQuery(currentSlide).trigger("shown");
 | 
						||
            }
 | 
						||
          }
 | 
						||
        }
 | 
						||
 | 
						||
        // hookup for slidy
 | 
						||
        if (window.w3c_slidy) {
 | 
						||
          window.w3c_slidy.add_observer(function (slide_num) {
 | 
						||
            // slide_num starts at position 1
 | 
						||
            fireSlideChanged(null, w3c_slidy.slides[slide_num - 1]);
 | 
						||
          });
 | 
						||
        }
 | 
						||
 | 
						||
      })();
 | 
						||
    </script>
 | 
						||
 | 
						||
    <script id="quarto-html-after-body" type="application/javascript">
 | 
						||
    window.document.addEventListener("DOMContentLoaded", function (event) {
 | 
						||
      const toggleBodyColorMode = (bsSheetEl) => {
 | 
						||
        const mode = bsSheetEl.getAttribute("data-mode");
 | 
						||
        const bodyEl = window.document.querySelector("body");
 | 
						||
        if (mode === "dark") {
 | 
						||
          bodyEl.classList.add("quarto-dark");
 | 
						||
          bodyEl.classList.remove("quarto-light");
 | 
						||
        } else {
 | 
						||
          bodyEl.classList.add("quarto-light");
 | 
						||
          bodyEl.classList.remove("quarto-dark");
 | 
						||
        }
 | 
						||
      }
 | 
						||
      const toggleBodyColorPrimary = () => {
 | 
						||
        const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
 | 
						||
        if (bsSheetEl) {
 | 
						||
          toggleBodyColorMode(bsSheetEl);
 | 
						||
        }
 | 
						||
      }
 | 
						||
      toggleBodyColorPrimary();  
 | 
						||
      const tabsets =  window.document.querySelectorAll(".panel-tabset-tabby")
 | 
						||
      tabsets.forEach(function(tabset) {
 | 
						||
        const tabby = new Tabby('#' + tabset.id);
 | 
						||
      });
 | 
						||
      const isCodeAnnotation = (el) => {
 | 
						||
        for (const clz of el.classList) {
 | 
						||
          if (clz.startsWith('code-annotation-')) {                     
 | 
						||
            return true;
 | 
						||
          }
 | 
						||
        }
 | 
						||
        return false;
 | 
						||
      }
 | 
						||
      const onCopySuccess = function(e) {
 | 
						||
        // button target
 | 
						||
        const button = e.trigger;
 | 
						||
        // don't keep focus
 | 
						||
        button.blur();
 | 
						||
        // flash "checked"
 | 
						||
        button.classList.add('code-copy-button-checked');
 | 
						||
        var currentTitle = button.getAttribute("title");
 | 
						||
        button.setAttribute("title", "已复制");
 | 
						||
        let tooltip;
 | 
						||
        if (window.bootstrap) {
 | 
						||
          button.setAttribute("data-bs-toggle", "tooltip");
 | 
						||
          button.setAttribute("data-bs-placement", "left");
 | 
						||
          button.setAttribute("data-bs-title", "已复制");
 | 
						||
          tooltip = new bootstrap.Tooltip(button, 
 | 
						||
            { trigger: "manual", 
 | 
						||
              customClass: "code-copy-button-tooltip",
 | 
						||
              offset: [0, -8]});
 | 
						||
          tooltip.show();    
 | 
						||
        }
 | 
						||
        setTimeout(function() {
 | 
						||
          if (tooltip) {
 | 
						||
            tooltip.hide();
 | 
						||
            button.removeAttribute("data-bs-title");
 | 
						||
            button.removeAttribute("data-bs-toggle");
 | 
						||
            button.removeAttribute("data-bs-placement");
 | 
						||
          }
 | 
						||
          button.setAttribute("title", currentTitle);
 | 
						||
          button.classList.remove('code-copy-button-checked');
 | 
						||
        }, 1000);
 | 
						||
        // clear code selection
 | 
						||
        e.clearSelection();
 | 
						||
      }
 | 
						||
      const getTextToCopy = function(trigger) {
 | 
						||
          const codeEl = trigger.previousElementSibling.cloneNode(true);
 | 
						||
          for (const childEl of codeEl.children) {
 | 
						||
            if (isCodeAnnotation(childEl)) {
 | 
						||
              childEl.remove();
 | 
						||
            }
 | 
						||
          }
 | 
						||
          return codeEl.innerText;
 | 
						||
      }
 | 
						||
      const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', {
 | 
						||
        text: getTextToCopy
 | 
						||
      });
 | 
						||
      clipboard.on('success', onCopySuccess);
 | 
						||
      if (window.document.getElementById('quarto-embedded-source-code-modal')) {
 | 
						||
        const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', {
 | 
						||
          text: getTextToCopy,
 | 
						||
          container: window.document.getElementById('quarto-embedded-source-code-modal')
 | 
						||
        });
 | 
						||
        clipboardModal.on('success', onCopySuccess);
 | 
						||
      }
 | 
						||
        var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
 | 
						||
        var mailtoRegex = new RegExp(/^mailto:/);
 | 
						||
          var filterRegex = new RegExp("https:\/\/drc\.drwater\.net\/course\/public\/RWEP\/PUB");
 | 
						||
        var isInternal = (href) => {
 | 
						||
            return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
 | 
						||
        }
 | 
						||
        // Inspect non-navigation links and adorn them if external
 | 
						||
     	var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)');
 | 
						||
        for (var i=0; i<links.length; i++) {
 | 
						||
          const link = links[i];
 | 
						||
          if (!isInternal(link.href)) {
 | 
						||
            // undo the damage that might have been done by quarto-nav.js in the case of
 | 
						||
            // links that we want to consider external
 | 
						||
            if (link.dataset.originalHref !== undefined) {
 | 
						||
              link.href = link.dataset.originalHref;
 | 
						||
            }
 | 
						||
          }
 | 
						||
        }
 | 
						||
      function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
 | 
						||
        const config = {
 | 
						||
          allowHTML: true,
 | 
						||
          maxWidth: 500,
 | 
						||
          delay: 100,
 | 
						||
          arrow: false,
 | 
						||
          appendTo: function(el) {
 | 
						||
              return el.closest('section.slide') || el.parentElement;
 | 
						||
          },
 | 
						||
          interactive: true,
 | 
						||
          interactiveBorder: 10,
 | 
						||
          theme: 'light-border',
 | 
						||
          placement: 'bottom-start',
 | 
						||
        };
 | 
						||
        if (contentFn) {
 | 
						||
          config.content = contentFn;
 | 
						||
        }
 | 
						||
        if (onTriggerFn) {
 | 
						||
          config.onTrigger = onTriggerFn;
 | 
						||
        }
 | 
						||
        if (onUntriggerFn) {
 | 
						||
          config.onUntrigger = onUntriggerFn;
 | 
						||
        }
 | 
						||
          config['offset'] = [0,0];
 | 
						||
          config['maxWidth'] = 700;
 | 
						||
        window.tippy(el, config); 
 | 
						||
      }
 | 
						||
      const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
 | 
						||
      for (var i=0; i<noterefs.length; i++) {
 | 
						||
        const ref = noterefs[i];
 | 
						||
        tippyHover(ref, function() {
 | 
						||
          // use id or data attribute instead here
 | 
						||
          let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
 | 
						||
          try { href = new URL(href).hash; } catch {}
 | 
						||
          const id = href.replace(/^#\/?/, "");
 | 
						||
          const note = window.document.getElementById(id);
 | 
						||
          if (note) {
 | 
						||
            return note.innerHTML;
 | 
						||
          } else {
 | 
						||
            return "";
 | 
						||
          }
 | 
						||
        });
 | 
						||
      }
 | 
						||
      const findCites = (el) => {
 | 
						||
        const parentEl = el.parentElement;
 | 
						||
        if (parentEl) {
 | 
						||
          const cites = parentEl.dataset.cites;
 | 
						||
          if (cites) {
 | 
						||
            return {
 | 
						||
              el,
 | 
						||
              cites: cites.split(' ')
 | 
						||
            };
 | 
						||
          } else {
 | 
						||
            return findCites(el.parentElement)
 | 
						||
          }
 | 
						||
        } else {
 | 
						||
          return undefined;
 | 
						||
        }
 | 
						||
      };
 | 
						||
      var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
 | 
						||
      for (var i=0; i<bibliorefs.length; i++) {
 | 
						||
        const ref = bibliorefs[i];
 | 
						||
        const citeInfo = findCites(ref);
 | 
						||
        if (citeInfo) {
 | 
						||
          tippyHover(citeInfo.el, function() {
 | 
						||
            var popup = window.document.createElement('div');
 | 
						||
            citeInfo.cites.forEach(function(cite) {
 | 
						||
              var citeDiv = window.document.createElement('div');
 | 
						||
              citeDiv.classList.add('hanging-indent');
 | 
						||
              citeDiv.classList.add('csl-entry');
 | 
						||
              var biblioDiv = window.document.getElementById('ref-' + cite);
 | 
						||
              if (biblioDiv) {
 | 
						||
                citeDiv.innerHTML = biblioDiv.innerHTML;
 | 
						||
              }
 | 
						||
              popup.appendChild(citeDiv);
 | 
						||
            });
 | 
						||
            return popup.innerHTML;
 | 
						||
          });
 | 
						||
        }
 | 
						||
      }
 | 
						||
    });
 | 
						||
    </script>
 | 
						||
    
 | 
						||
 | 
						||
</body></html> |