screen save|show|free num
This command allows the user to save the contents of the display window into a buffer in memory, and also to restore a saved buffer to the current display at any time. This command will work in double buffer mode and was written to facilitate animations when working interactively with GrADS. The options are as follows:
save
num
.
show
num
to the screen.
free
num
from memory.
This command does not work in batch mode.


| Acceptance Test File |
Description |
Test Status |
Random Seed Used |
Time to Complete (hh:mm:ss) |
Delivery Performance Score |
Satisfaction Performance Score |
Test Results |
Notes |
| proj7acceptance1.pass |
Short run with light passenger
arrivals distributed evenly over all floors. |
all passengers delivered | 8675309 |
2:02:32 |
2289.542 |
500.000 |
proj7acceptance1_8675309.stats |
- |
| proj7acceptance1.pass |
Short run with light passenger
arrivals distributed evenly over all floors. |
all passengers delivered | 1234567 |
2:02:34 |
2288.593 |
500.000 |
proj7acceptance1_1234567.stats |
- |
| proj7acceptance2.pass |
Up peak with many people coming from lobby. |
all passengers delivered | 8675309 |
0:56:52 |
8601.863 |
500.000 |
proj7acceptance2_8675309.stats |
- |
| proj7acceptance2.pass |
Up peak with many people coming from lobby. |
all passengers delivered | 1234567 |
0:56:45 |
8426.988 |
500.000 |
proj7acceptance2_1234567.stats |
- |
| proj7acceptance3.pass |
Down peak with many people going to lobby. |
all passengers delivered | 8675309 |
0:52:23 |
6408.627 |
387.161 |
proj7acceptance3_8675309.stats |
- |
| proj7acceptance3.pass |
Down peak with many people going to lobby. |
all passengers delivered | 1234567 |
0:52:04 |
6944.671 |
384.766 |
proj7acceptance3_1234567.stats |
- |
| proj8group12acceptance1.pass |
Everyone coming from floor 4 (from a meeting) and going to other floors. |
all passengers delivered | 8675309 |
0:37:11 |
4923.207 |
476.190 |
proj8group12acceptance1_8675309.stats |
- |
| proj8group12acceptance1.pass |
Everyone coming from floor 4 (from a meeting) and going to other floors. |
all passengers delivered | 1234567 |
0:37:05 |
4999.158 |
478.095 |
proj8group12acceptance1_1234567.stats |
- |
| proj12acceptance1.pass | Project 12 Acceptance Test 1 | All passengers delivered |<PHONE_NUMBER> | 01:19:02 | 347.962 | 391.500 | elevator-proj12acceptance1.pass-0.stats | - |
| proj12acceptance2.pass | Project 12 Acceptance Test 2 | All passengers delivered |<PHONE_NUMBER> | 00:11:35 | 749.265 | 399.554 | elevator-proj12acceptance2.pass-0.stats | - |
| proj12acceptance3.pass | Project 12 Acceptance Test 3 | All passengers delivered |<PHONE_NUMBER> | 00:11:12 | 760.026 | 500.000 | elevator-proj12acceptance3.pass-0.stats | - |


{% extends 'supporttools/base.html' %} {% block content %}
Provisioning monitoring and reporting will be found here.
That is all


{{ item.title }}
{{ item.body }}
--- title: Spoke layout: page intro: title: Politics Rewired blocks: - We are a collective of software developers and digital organizers building technology to help the Left win and wield power. - As a worker-owned cooperative, we are motivated by politics, not profits. We’re in this fight to support the campaigns, organizations, and unions doing the work to organize millions of ordinary people to create a more free and equal world. - To discuss your organization or organizing effort's data management needs, email us at<EMAIL_ADDRESS>columns: - title: Spoke Rewired body: |
Spoke Rewired is a low-cost, out-of-the-box solution for your peer-to-peer texting team, based on the open-source Spoke application.
We also offer assistance in planning, building, and analyzing your campaigns from leaders of the Bernie 2020 National Texting Team, one of the most successful and energizing texting campaigns to date.
action: text: Get Started url: "/signup" - title: What's Next action: text: Join us! url: "/careers" body: |We are building Assemble, a collaborative database that’s as easy to use as Google Sheets, but with all the power and flexibility of a fully developed modern database.
Join our team in fundamentally changing the organizing technology landscape and helping organizers save time, get rest, and do their best work.
sections: - title: Messaging Platform content: From their browser, your volunteers can send scripted and tailored messages to voters, donors, and fellow volunteers. Conversations requiring attention will automatically appear in texters' to-do lists, and they can easily respond, opt-out contacts, or even escalate trickier conversations to an administrator. image: texter.png - title: Administration Dashboard content: From the dashboard, your team can:{{ item }}
{% endfor %}{{ item.body }}
{{ section.content }}


Arionum tools update history
- The AUSD asset page updated at 10:15 UTC on March 20, 2021
- Arionum asset faucet build info updated at 19:06 UTC on March 19, 2021
- Asset web wallet build info updated at 19:06 UTC on March 19, 2021
- ownership control page updated at 09:21 UTC on February 16, 2021


Close ×
About the app
The Vimana's other projects
☰
Leave your name on the board!
Your Name:
{%for n in name%}
{{n}}
{%endfor%}


Place the following code on every page of your website where you want messages:

Unread comments are blue.Unapproved comments are red.Approved comments are green.
Select year and month:


This map is based on the traffic of .pcap file that you entered when prompted. Re-run the script and enter another .pcap file for the map to change.
Feature 1: See and zoom in on the location of the website on the geographic world map.
Feature 2: Scroll over to see the name of the website name and a count of the number packets from the capture for that domain.
Feature 3: COLORS ! If the color is red, that indicates it is a possible bad domain, otherwise it is yellow.


q - switch items space - use items made for ludum dare 32 plant seeds and keep them alive use salt to deter snails and use water to heal plants by lodyb and ami


2nd International Symposium on PLS Path Modeling
28 Aug 2014For those of you interested in PLS Path Modeling, take note of the announcement for the 2nd International Symposium on Partial Least Squares Path Modeling to take place in Seville, Spain next year (2015) between June 16-19.
Short Description
A couple of weeks ago I received an email from my colleague Jose Luis Roldan letting me know that they have started to officially communicate the 2nd International Symposium on Partial Least Squares Path Modeling – The Conference for PLS Users
This second edition will take place next year (2015) between June 16-19 in beautiful Seville, Spain. You can check all the details in the symposium's website: http://2015.pls-symposium.org./index.html
This is a great opportunity for researchers in business and social sciences who apply PLS Path Modeling in different topics such as:
- Marketing
- International Business
- Strategic Management
- Information Systems
- Human Resource Management
- Organizational Behavior
- Service Management
- Operations Management
- Innovation Management
- Educational Research
- Psychology
- Environmental Research
Also it's good to know that there will be some great publishing opportunities. One of them will be a special issue of the Journal of Business Research titled Prediction-oriented Modeling in Business Research by Means of Partial Least Squares Path Modeling. Right now you have plenty of time to prepare something up since the papers submission deadline is 15 September 2015.
Here are the next two most immediate important dates:
- October 1, 2014 Submission System Opens
- January 26, 2015 Deadline for Regular Paper Submissions
http://2015.pls-symposium.org/submission.html
For more information about the symposium don't hesitate to contact the organizers
via e-mail: info@2015.pls-symposium.org


{% extends 'base.html' %} {% block title %}Gene Signature Explore{% endblock title %} {% block content %}
Please choose the platform:
The input in Step2 and 4 should be based on the platform you selected.
Please decide what level of significance you want to use on statistic test in Step4.
Choose the type of keywords (gene name or platform identifier):
Input more than 1 keyword:
Please separate keywords with a space or a new line.
Example(probe id):1007_s_at 1053_at
Two groups will use Student's t-test to evaluate the result.
For more than two groups, we will use one-way ANOVA.
The following input of the groups should be based on the platform you select in Step3.
Notice: To prevent a statistical error, please at least input 3 cell lines in each group.
Please select the datasets and related cell lines you want in each of the datasets.
Cell line datasets (U133A):
Cell line datasets (U133plus2):
Clinical datasets:
please select the cell lines you want:
Please select the primary site or primary histology you want.
Additional filter:(default is "All Selected")


include
`Prev `__
I
`Next `__
--------------
**include**: vt.
[Usenet]
1. To duplicate a portion (or whole) of another's message (typically
with attribution to the source) in a reply or followup, for clarifying
the context of one's response. See the discussion of inclusion styles
under *Hacker Writing Style*.
2. [from `*C* <../C/C.html>`__] **#include ** has appeared
in `*sig block* <../S/sig-block.html>`__\ s to refer to a notional
standard `*disclaimer* <../D/disclaimer.html>`__ file.
--------------
+--------------------------------+----------------------------+--------------------------------+
| `Prev `__ | `Up <../I.html>`__ | `Next `__ |
+--------------------------------+----------------------------+--------------------------------+
| incantation | `Home <../index.html>`__ | include war |
+--------------------------------+----------------------------+--------------------------------+


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.eeittadminfrontend.models.github.{Authorization, LastCommitCheck} @import uk.gov.hmrc.eeittadminfrontend.utils.DateUtils @import uk.gov.hmrc.govukfrontend.views.html.components._ @this( deployment_commit_info: deployment_commit_info, govukWarningText: GovukWarningText ) @(lastCommitCheck: LastCommitCheck, authorization: Authorization ) @upToDate(check: LastCommitCheck.UpToDate) = {
Cache of Github templates is up to date.
@deployment_commit_info(authorization, check.cacheCommit.commit) } @outOfDate(check: LastCommitCheck.OutOfDate) = { @govukWarningText(WarningText( iconFallbackText = "Warning", content = Text("There is newer commit in Github repository.") ))Cache commit info
@deployment_commit_info(authorization, check.cacheCommit.commit)Last Github commit info
@deployment_commit_info(authorization, check.lastCommit) } @lastCommitCheck.fold(upToDate)(outOfDate)


History
Nike, Inc. is an American multinational corporation that designs, develops, manufactures and sells several products. Some of Nike’s products include footwear, apparel, equipment and accessories. The company’s headquarter is in Beaverton, Oregon. Nike is one of the largest suppliers of athletic shoes and apparel worldwide
The company was founded as Blue Ribbon Sports by University of Oregon coach Bill Bowerman and athlete Phil Knight on January 25, 1964. The company started off as a distributor for Japanese shoe maker. The name became Nike, Inc. on May 30, 1971. The company got the name from the Greek goddess of victory.
As far as Nike's finances the revenues for the brand were $7.7 billion in the fourth quarter for 2016. That is an 8% increase on a currency-neutral level. The gross margin decline to 45.9%. The overall net income was $58 million.
Lorem ipsum dolor sit amet, dolor elit blandit enim. Architecto hac rutrum est molestie hendrerit, vehicula leo aenean ornare scelerisque sagittis sit. Suscipit integer, rutrum amet elementum, ligula fusce vitae fringilla ante. In quam, ullamcorper impedit amet aliquam, placerat massa mauris suscipit, ut convallis in magna mauris, auctor ipsum non ornare magna. Lectus leo neque eu, mollis neque, commodo leo eu metus elementum, vestibulum a diam vitae eos eros. Molestie ante, quis a wisi luctus non vel. Ultricies aliquam luctus a eu vulputate, mattis in ligula enim ante at, amet in, praesent ipsum quis. Ut turpis, aliquet rutrum pellentesque. Quam orci id lectus blandit, in consequat fringilla et quis, venenatis sollicitudin wisi.
Eu ut, dapibus risus lectus vivamus. Commodo sed platea nulla senectus, auctor praesent quam, rhoncus auctor porttitor mattis potenti ad tortor, placerat integer elit tincidunt a praesent metus. Elit eget, parturient vestibulum amet dui enim adipiscing, gravida sed. A quisque non cras, nunc imperdiet egestas sit turpis cras faucibus, donec at at in proin consequuntur, vestibulum duis diam pellentesque, dignissim tortor tortor ante pede arcu. Vestibulum elementum orci. Quia vivamus tortor, tortor ipsum ut eros elementum sit gravida, et sed luctus mi at et massa. Consectetuer adipiscing class. Vestibulum bibendum vivamus condimentum duis, vestibulum enim sem vivamus ante in eu. Urna felis vehicula, amet a magna, quam morbi ultricies ornare nullam, urna vulputate vitae velit in.


Mission:
Our mission is to establish Signature Auto Glass as the premier leaders in the auto glass replacement and repair industry, by delivering exceptional customer service, exceeding safety standards and maintaining fair pricing.
What We Do:
Signature Auto Glass uses cutting edge technology with old school practicality to deliver the safest and highest quality auto glass installation and repair. We have a team of local Auto Glass Installers ready to take care of your auto glass replacement needs. Your needs are our priority! At Signature Auto Glass, we are committed to providing excellent customer service and quality auto glass replacement. Your safety is top priority with our experienced team of auto glass technicians, we want to keep you and your vehicle safe and on the road. Signature Auto Glass will gladly service your import, domestic or high performance exotic car. We take pride in our work, offering excellent customer service and using high quality Auto Glass, Moulding and Urethane. Regardless of whether your need is as a result of something that flew into your windshield as you drove down the road or because you were the victim of a crime, Signature Auto glass is here to help. If necessary, we are also able to work with your insurance provider to properly file your insurance claim. As an added convenience for our customers, we offer Free MOBILE SERVICE in Atlanta and nearby areas We bring our Auto Glass Shop to you! Signature Auto Glass will gladly come to you! When you call our office<PHONE_NUMBER>, our phone representatives will ask you for the essential information in order to be able to provide you with a free quote and answer your questions.
The best team in the world.
We have a team of local Auto Glass Installers ready to take care of your auto glass replacement needs. Your needs are our priority! At Signature Auto Glass, we are committed to providing excellent customer service and quality auto glass replacement and other areas nearby. Your safety is top priority with our experienced team of auto glass technicians, we want to keep you and your vehicle safe and on the road. Signature Auto Glass will gladly service your import, domestic or high performance exotic car.
Our designers are thoughtfully chosen:
Please, fill out this form for a free quote:
Windshield Repair:
Due to the process of using pressure and vacuum cycles to repair laminated glass and the unstable properties of broken glass, the damaged area may develop additional cracks or existing cracks may increase in length.
This problem is very rare and occurs in less than .1% of all windshield repairs performed using the Windshield Repair System.
Appearance AFTER the Repair (Not a cosmetic fix)
It’s important to understand that a successful repair DOES NOT mean the rock chip repair will become invisible or improve significantly in appearance. The process for windshield rock chip repair is primarily a structural repair. The cosmetic appearance AFTER the repair is not a reflection of whether or not the repair was successful. With that being said, the repaired chip may also disappear almost completely.
Auto Glass Warranty:
Signature Auto Glass offers a Lifetime Warranty against leaks (air or water) and workmanship as long as the initial customer owns the vehicle. The warranty is non-transferable. Power and Manual sliding back glasses are warranted for 6 months from date of installation. Please call<PHONE_NUMBER> as soon as any leaks or defects are noticed. Customers must present the original receipt for warranty work.
Warranty Limitations:
The warranty only covers workmanship and leaks. Signature Auto Glass will not be held liable for damages that occur as a result of previous damages, rust, rock chips, vandalism, theft, accidents or natural occurrences. Warranty will not be honored if repairs or replacement are conducted without prior authorization from Signature Auto Glass. If damages occur to the vehicle as a result of auto glass replacement, Signature Auto Glass reserves the right to select a vendor to repair the damages. Signature Auto Glass is not responsible for regulator or motor issues that occur as a result of broken door glass. Signature Auto Glass does not re calibrate vehicles with lane departure warning system/forward collision.
Refer potential Auto Glass customers with your Auto Glass Ambassador Code (use your resources: Social Media, Craigslist, Nextdoor, Friends, Family etc be creative with integrity All post must be approved before posting
If the customer receives auto glass service from Signature Auto Glass
You will receive $5.00 for each customer that receives service Money will be sent via cash app PayPal or Venmo (to collect $600.00 or more must have a w9 on file)
There are an estimated 3.5 million vehicles on the road in Atlanta many of them have or will have broken auto glass that will need replacement or repair. Spread the word and get paid today!


Deep Dive Into / Internals of
Kafka Streams
Kafka Streams 2.2.0
@jaceklaskowski
/
StackOverflow
/
GitHub
The "Internals" Books:
Kafka Streams
/
Apache Kafka
## My Very First #KafkaSummit!
* **Jacek Laskowski** is a freelance IT consultant * Core competencies in Spark, Kafka, **Kafka Streams**, Scala * Development | Consulting | Training * Among contributors to
Apache Spark
* Contact me at<EMAIL_ADDRESS>* Follow [@JacekLaskowski](https://twitter.com/jaceklaskowski) on twitter
for more #ApacheSpark, #ApacheKafka, #KafkaStreams
Jacek is best known by the online "Internals" books:
The Internals of Apache Spark
The Internals of Spark SQL
The Internals of Spark Structured Streaming
The Internals of Kafka Streams
The Internals of Apache Kafka
Jacek is "active" on
StackOverflow
🥳
## Agenda 1. [Kafka Streams](#/intro) 1. [Main Development Entities](#/main-development-entities) 1. [Topology](#/topology) 1. [KafkaStreams](#/kafkastreams) 1. [Main Execution Entities](#/main-execution-entities) 1. [StreamThread](#/StreamThread) 1. [TaskManager](#/TaskManager) 1. [StreamTask and StandbyTask](#/kafka-streams-tasks) 1. [StreamsPartitionAssignor](#/StreamsPartitionAssignor) 1. [RebalanceListener](#/RebalanceListener)
## Kafka Streams
(1 of 2)
1. **Kafka Streams** is a client library for **stream processing applications** that process records in Kafka topics * Low-level **Processor API** 1. Stream processing primitives, e.g. **KStream** and **KTable** * High-level **Streams DSL** 1. **Topology** to describe the processing flow * » One record at a time « 1. Wrapper around the Kafka Producer and Consumer APIs 1. Supports **fault-tolerant local state** for stateful operations (e.g. windowed aggregations and joins)
## Kafka Streams
(2 of 2)
1. "Groundbreaking" facts (which changed my life): 1. When started, a topology processes one record at a time only 1. A Kafka Streams application can be run in multiple instances (e.g. as Docker containers) 1. Increasing stream processing power is to increase number of threads and instances 1. Processor itself decides whether to forward a record downstream or not
## Main Development Entities 1. As a Kafka Streams developer you work with the two main developer-facing entities: 1. Topology 1. KafkaStreams
## Topology 1. Represents the **stream processing logic** of a Kafka Streams application 1. Directed Acyclic Graph of **Processors** (Stream Processing Nodes) 1. Logical representation 1. Created directly or indirectly (using Streams DSL) 1. Topology API * Adding sources, processors, sinks, state stores 1. Can be described (and printed out to stdout)
## Example: Creating Topology ``` // Creating directly import org.apache.kafka.streams.Topology val topology = new Topology ``` ``` // Created using Streams DSL (StreamsBuilder API) // Scala API for Kafka Streams import org.apache.kafka.streams.scala._ import ImplicitConversions._ import Serdes._ val builder = new StreamsBuilder val topology = builder.build ```
## Example: Describing Topology ``` scala> println(topology.describe) Topologies: Sub-topology: 0 for global store (will not generate tasks) Source: demo-source-processor (topics: [demo-topic]) --> demo-processor-supplier Processor: demo-processor-supplier (stores: [in-memory-key-value-store]) --> none <-- demo-source-processor ```
## KafkaStreams 1. Manages execution of a topology of a Kafka Streams application * Start, close (shut down), state 1. Consumes messages from and produces processing results to Kafka topics 1. Acceptable to create multiple KafkaStreams instances per Kafka Streams application 1. For better performance, consider creating multiple KafkaStreams instances as separate instances of Kafka Streams application
## Example: Creating KafkaStreams ```scala import org.apache.kafka.streams.KafkaStreams val topology: Topology = ... val config: StreamsConfig = ... val ks = new KafkaStreams(topology, config) ks.start // <-- starts execution ```
## Main Execution Entities 1. [StreamThread](#/StreamThread) 1. [TaskManager](#/TaskManager) 1. [StreamTask and StandbyTask](#/kafka-streams-tasks) 1. [StreamsPartitionAssignor](#/StreamsPartitionAssignor) 1. [RebalanceListener](#/RebalanceListener)
## StreamThread
(1 of 4)
1. Stream Processor Thread * Runs the **main record processing loop** * Thread of execution (**java.lang.Thread**) 1. StreamThread uses a Kafka consumer (to poll for records) * Subscribes to source topics * Think of Consumer Group 1. **num.stream.threads** configuration property (default: **1**) 1. Uses Kafka Consumer "tools" for operation * Registers **StreamsPartitionAssignor** * Uses **RebalanceListener** to intercept changes to the partitions assigned 1. Uses TaskManager to manage processing tasks
(on next slide)
StreamThread
(2 of 4)
StreamThread
(3 of 4)
StreamThread
(4 of 4)
## TaskManager
(1 of 2)
1. Task manager of a StreamThread 1. Manages active and standby tasks * Only active StreamTasks process records 1. Creates processor tasks for assigned partitions * **RebalanceListener.onPartitionsAssigned**
TaskManager
(2 of 2)
## Stream Processor Tasks
(1 of 3)
1. Managed by **TaskManager** to run a topology of stream processors 1. **StreamTask** - the default processor task * As many as partitions assigned * Managed as a group as **AssignedStreamsTasks** * Only active StreamTasks process records * Use FIFO RecordQueues (per Kafka TopicPartition) 1. **StandbyTask** - a backup processor task * "Ghost" tasks for active StreamTasks * Default: **0** standby tasks * Managed as a group as **AssignedStandbyTasks**
Stream Processor Tasks
(2 of 3)
Stream Processor Tasks
(3 of 3)
## StreamsPartitionAssignor
(1 of 2)
1. Custom **PartitionAssignor** from the Kafka Consumer API * Used for dynamic partition assignment and distributing partition ownership across the members of a consumer group * **partition.assignment.strategy** / **ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG** configuration property 1. Group management protocol * **group membership** * **state synchronization** 1. Assigns partitions dynamically across the instances of a Kafka Streams application * Required **application.id** / **StreamsConfig.APPLICATION_ID_CONFIG** configuration property
## StreamsPartitionAssignor
(2 of 2)
## RebalanceListener
(1 of 2)
1. Custom **ConsumerRebalanceListener** from the Kafka Consumer API * Callback interface for custom actions when the set of partitions assigned to the consumer changes * partition re-assignment will be triggered any time the members of the consumer group change 1. Intercepts changes to the partitions assigned to a single StreamThread
RebalanceListener
(2 of 2)
## Recap 1. [Kafka Streams](#/intro) 1. [Main Development Entities](#/main-development-entities) 1. [Topology](#/topology) 1. [KafkaStreams](#/kafkastreams) 1. [Main Execution Entities](#/main-execution-entities) 1. [StreamThread](#/StreamThread) 1. [TaskManager](#/TaskManager) 1. [StreamTask and StandbyTask](#/kafka-streams-tasks) 1. [StreamsPartitionAssignor](#/StreamsPartitionAssignor) 1. [RebalanceListener](#/RebalanceListener)
# Questions? * Read [The Internals of Kafka Streams](http://bit.ly/kafka-streams-internals) * Read [The Internals of Apache Kafka](http://bit.ly/apache-kafka-internals) * Follow [@jaceklaskowski](https://twitter.com/jaceklaskowski) on twitter (DMs open) * Upvote [my questions and answers on StackOverflow](http://stackoverflow.com/users/1305344/jacek-laskowski) * Contact me at **jacek@japila.pl**


name: poppies class: inverse, middle, bottom background-image:url(img/MCOE-Logo.png), url(img/laurentiu-iordache-qstGMhWuORE-unsplash.jpg) background-size: 10%, 100% background-position: 90% 90%, 50% 50% # Demonstration Using ggplot ### VISUALIZATION PRINCIPLES IN PRACTICE .large[David Dobrowski | Education Data Science Conference | 6 May 2021<EMAIL_ADDRESS>??? David Dobrowski Monterey County Office of Education Director of Data Research and Partnerships Welcome c - clone p - presenter mode t - timer Going to be talking about ggplot which is part of the tidyverse principles about vizualizations --- class: inverse, middle, center name: title # References for today ### Slides: https://ggplot-flipbook.netlify.app/ggplot-flipbook.html  ### Github repo: https://github.com/dobrowski/ggplotFlipbook ??? how to find these slides and github repo to play along at home See also the earlier sessions by Oscar and Tyler ; Ryan --- class: inverse, middle, center  .right[ .small[Barbara Kruger] ] ??? Poll - How familiar are you with R and ggplot? - I just stayed from the last session and don't feel like moving - I have dabbled but it isn't my go to tool - I use them regularly and would like to learn something new - I've led this presentation before In chat, please write a question or something you hope to get out of today. I'm also ok with questions throughout, as well as at the end. If it is something about R in general or an involved discussion, I may hold that until later. --- # Reasons Why to Graph Data -- .large[Picture Superiority Effect] --  ??? Start with why are we visualizing data? Studies have shown that people remember things better when given a picture in addition to text or numbers --- # Reasons Why to Graph Data .center[ ![](img/DinoSequentialSmaller.gif) ] .black[ .right[ .small[https://www.autodesk.com/research/publications/same-stats-different-graphs] ]] ??? Displaying visually allows use to see patterns we wouldn't necessarily get from summary statistics --- # Components of a graph ??? ggplot's name comes from Hadley Wickham's Grammar of Graphics His concept that there is an underlying grammar for creating visualizations and graphics. Everything we are going to do today is layering of additional elements are parts of speech. "The transferrable skills from ggplot2 are not the idiosyncracies of plotting syntax, but a powerful way of thinking about visualisation, as a way of mapping between variables and the visual properties of geometric objects that you can perceive." -- ## data ??? In general this needs to be in a tidy format. each column is a varialbe each case is a row. -- ### + -- ## aesthetics ??? philosophically it is about the nature of beauty and appearance, here it is useful to think about how you are asking the computer to arrange things -- ### + -- ## geom ??? These are the geometric shapes you want to use. For instance, lines, points, rectangles, maps, etc. These are the three components to creating a graph in ggplot, and arguable the grammar of graphing in any way even if not explicitly laid out. --- # Components of a graph -- .left[ ### data - what you want to graph ] -- .right[ ### ggplot() + ] -- .left[ ### aesthetics - how the data elements are put into a graph ] -- .right[ ### aes() + ] -- .left[ ### geom - what geometric form of a graph you want ] -- .right[ ### geom_* ] --- # Graphing Elements .pull-left[  ] .pull-right[  ] .small[ .right[ https://socviz.co/index.html ] ] ??? These are building block of constructing a graph. Different ways to encode meaning, variables and data into geometric features. --- class: middle, center  .small[ .right[ https://socviz.co/index.html ] ] ??? Next we are going to go through a real example. Based on the state's research files. Only looking at all students, for ELA in Grade 5 in 2019. Filtered for only the first 6 county codes, so Alameda through Colusa Using an approach called SLOWggplot. Bit by bit. This isn't the way you would normally write the code but you can see each individual addition. --- name: scatter count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score *library(ggplot2) # Or tidyverse ``` ] .panel2-intro-auto[ ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse *caaspp # pipe ``` ] .panel2-intro-auto[ ``` id County_Code District_Code School_Code Filler 1 sb_ca2019_all_csv_v4.txt 1 31617 0 NA 2 sb_ca2019_all_csv_v4.txt 1 61119 0 NA 3 sb_ca2019_all_csv_v4.txt 1 61192 0 NA 4 sb_ca2019_all_csv_v4.txt 1 61200 0 NA 5 sb_ca2019_all_csv_v4.txt 1 61259 0 NA 6 sb_ca2019_all_csv_v4.txt 1 61275 0 NA 7 sb_ca2019_all_csv_v4.txt 1 61291 0 NA 8 sb_ca2019_all_csv_v4.txt 1 75101 0 NA 9 sb_ca2019_all_csv_v4.txt 4 61408 0 NA 10 sb_ca2019_all_csv_v4.txt 4 61424 0 NA 11 sb_ca2019_all_csv_v4.txt 4 61549 0 NA 12 sb_ca2019_all_csv_v4.txt 4 75507 0 NA 13 sb_ca2019_all_csv_v4.txt 6 61614 0 NA 14 sb_ca2019_all_csv_v4.txt 6 61622 0 NA 15 sb_ca2019_all_csv_v4.txt 1 61168 0 NA 16 sb_ca2019_all_csv_v4.txt 1 61176 0 NA 17 sb_ca2019_all_csv_v4.txt 1 61234 0 NA 18 sb_ca2019_all_csv_v4.txt 1 61309 0 NA 19 sb_ca2019_all_csv_v4.txt 1 75119 0 NA 20 sb_ca2019_all_csv_v4.txt 2 61333 0 NA 21 sb_ca2019_all_csv_v4.txt 4 61523 0 NA 22 sb_ca2019_all_csv_v4.txt 6 61598 0 NA 23 sb_ca2019_all_csv_v4.txt 6 61606 0 NA 24 sb_ca2019_all_csv_v4.txt 1 61127 0 NA 25 sb_ca2019_all_csv_v4.txt 1 61143 0 NA Test_Year Subgroup_ID Test_Type Total_CAASPP_Enrollment 1 2019 1 B NA 2 2019 1 B NA 3 2019 1 B NA 4 2019 1 B NA 5 2019 1 B NA 6 2019 1 B NA 7 2019 1 B NA 8 2019 1 B NA 9 2019 1 B NA 10 2019 1 B NA 11 2019 1 B NA 12 2019 1 B NA 13 2019 1 B NA 14 2019 1 B NA 15 2019 1 B NA 16 2019 1 B NA 17 2019 1 B NA 18 2019 1 B NA 19 2019 1 B NA 20 2019 1 B NA 21 2019 1 B NA 22 2019 1 B NA 23 2019 1 B NA 24 2019 1 B NA 25 2019 1 B NA Total_Tested_At_Entity_Level Total_Tested_at_Subgroup_Level Grade 1 128 NA 5 2 4567 NA 5 3 10410 NA 5 4 6996 NA 5 5 17428 NA 5 6 1347 NA 5 7 4505 NA 5 8 7944 NA 5 9 294 NA 5 10 6232 NA 5 11 980 NA 5 12 1063 NA 5 13 785 NA 5 14 707 NA 5 15 376 NA 5 16 18260 NA 5 17 2916 NA 5 18 5048 NA 5 19 192 NA 5 20 52 NA 5 21 862 NA 5 22 765 NA 5 23 179 NA 5 24 1773 NA 5 25 4614 NA 5 Test_Id CAASPP_Reported_Enrollment Students_Tested Mean_Scale_Score 1 1 17 16 2382.9 2 1<PHONE_NUMBER>.6 3 1 1654 1610 2470.8 4 1<PHONE_NUMBER>.2 5 1 3131 3030 2465.1 6 1<PHONE_NUMBER>.3 7 1<PHONE_NUMBER>.7 8 1 1125 1098 2575.7 9 1 32 31 2467.8 10 1<PHONE_NUMBER>.1 11 1<PHONE_NUMBER>.7 12 1<PHONE_NUMBER>.8 13 1<PHONE_NUMBER>.9 14 1<PHONE_NUMBER>.3 15 1 60 57 2475.8 16 1 2648 2612 2575.2 17 1<PHONE_NUMBER>.3 18 1<PHONE_NUMBER>.4 19 1 32 31 2568.2 20 1 11 11 2484.2 21 1<PHONE_NUMBER>.6 22 1<PHONE_NUMBER>.0 23 1 41 37 2474.6 24 1<PHONE_NUMBER>.1 25 1<PHONE_NUMBER>.2 Percentage_Standard_Exceeded Percentage_Standard_Met 1 0.00 0.00 2 35.85 32.01 3 11.68 27.39 4 32.52 31.70 5 16.25 21.27 6 64.36 28.19 7 13.45 27.22 8 52.05 28.81 9 6.45 29.03 10 24.34 30.91 11 14.56 26.58 12 16.67 28.47 13 11.57 27.27 14 8.41 19.63 15 7.02 31.58 16 53.91 25.56 17 22.68 29.51 18 9.87 18.56 19 48.39 29.03 20 18.18 27.27 21 10.90 21.15 22 7.38 27.05 23 10.81 21.62 24 52.45 26.79 25 37.29 28.45 Percentage_Standard_Met_and_Above Percentage_Standard_Nearly_Met 1 0.00 6.25 2 67.85 14.79 3 39.07 20.99 4 64.22 17.23 5 37.52 18.46 6 92.55 4.79 7 40.66 21.04 8 80.86 11.30 9 35.48 25.81 10 55.25 17.19 11 41.14 22.15 12 45.14 20.14 13 38.84 25.62 14 28.04 23.36 15 38.60 28.07 16 79.46 9.69 17 52.19 20.49 18 28.42 20.77 19 77.42 12.90 20 45.45 27.27 21 32.05 26.28 22 34.43 31.97 23 32.43 45.95 24 79.25 11.32 25 65.75 14.09 Percentage_Standard_Not_Met Students_with_Scores 1 93.75 16 2 17.35 703 3 39.94 1610 4 18.55 981 5 44.02 3028 6 2.66 188 7 38.29 632 8 7.84 1097 9 38.71 31 10 27.57 867 11 36.71 158 12 34.72 144 13 35.54 121 14 48.60 107 15 33.33 57 16 10.84 2610 17 27.32 366 18 50.81 679 19 9.68 31 20 27.27 11 21 41.67 156 22 33.61 122 23 21.62 37 24 9.43 265 25 20.17 724 Area_1_Percentage_Above_Standard Area_1_Percentage_At_or_Near_Standard 1 0.00 NA 2 41.54 NA 3 15.72 NA 4 37.51 NA 5 20.61 NA 6 63.83 NA 7 17.72 NA 8 57.34 NA 9 6.45 NA 10 29.56 NA 11 21.52 NA 12 20.14 NA 13 14.88 NA 14 8.49 NA 15 17.54 NA 16 54.52 NA 17 28.69 NA 18 11.50 NA 19 51.61 NA 20 18.18 NA 21 14.74 NA 22 14.75 NA 23 10.81 NA 24 57.36 NA 25 44.20 NA Area_1_Percentage_Below_Standard Area_2_Percentage_Above_Standard 1 68.75 0.00 2 17.07 34.99 3 38.04 18.06 4 16.51 33.91 5 40.26 19.13 6 2.66 52.66 7 38.77 20.41 8 9.12 51.96 9 29.03 9.68 10 26.79 30.75 11 31.01 14.65 12 34.72 22.22 13 39.67 16.53 14 49.06 14.15 15 28.07 8.77 16 11.15 56.65 17 25.96 23.77 18 48.67 15.49 19 12.90 38.71 20 27.27 27.27 21 40.38 10.26 22 31.97 16.39 23 18.92 11.11 24 9.06 47.17 25 19.89 37.26 Area_2_Percentage_At_or_Near_Standard Area_2_Percentage_Below_Standard 1 NA 87.50 2 NA 19.35 3 NA 30.39 4 NA 18.18 5 NA 38.73 6 NA 3.72 7 NA 31.65 8 NA 9.21 9 NA 29.03 10 NA 23.93 11 NA 38.22 12 NA 25.00 13 NA 28.10 14 NA 39.62 15 NA 36.84 16 NA 9.89 17 NA 28.69 18 NA 39.38 19 NA 9.68 20 NA 18.18 21 NA 35.90 22 NA 29.51 23 NA 30.56 24 NA 9.43 25 NA 21.33 Area_3_Percentage_Above_Standard Area_3_Percentage_At_or_Near_Standard 1 6.25 NA 2 26.88 NA 3 9.26 NA 4 26.12 NA 5 12.62 NA 6 53.72 NA 7 9.97 NA 8 39.47 NA 9 6.45 NA 10 19.08 NA 11 10.76 NA 12 16.67 NA 13 11.57 NA 14 1.89 NA 15 12.28 NA 16 39.96 NA 17 20.77 NA 18 9.29 NA 19 16.13 NA 20 9.09 NA 21 7.69 NA 22 10.66 NA 23 8.33 NA 24 36.98 NA 25 30.43 NA Area_3_Percentage_Below_Standard Area_4_Percentage_Above_Standard 1 50.00 0.00 2 14.51 39.97 3 29.77 18.27 4 15.41 36.63 5 33.37 19.00 6 2.13 66.49 7 30.22 18.51 8 6.84 53.78 9 25.81 12.90 10 18.61 29.13 11 25.95 21.52 12 22.22 22.92 13 25.62 19.83 14 38.68 13.21 15 21.05 10.53 16 8.54 53.95 17 20.49 27.87 18 40.86 13.57 19 12.90 61.29 20 36.36 27.27 21 28.21 14.10 22 30.33 9.84 23 19.44 11.11 24 7.55 54.34 25 16.87 40.25 Area_4_Percentage_At_or_Near_Standard Area_4_Percentage_Below_Standard 1 NA 87.50 2 NA 17.64 3 NA 38.41 4 NA 18.37 5 NA 42.19 6 NA 2.13 7 NA 36.87 8 NA 8.39 9 NA 38.71 10 NA 28.67 11 NA 34.18 12 NA 35.42 13 NA 38.84 14 NA 40.57 15 NA 31.58 16 NA 11.03 17 NA 24.86 18 NA 46.61 19 NA 9.68 20 NA 27.27 21 NA 43.59 22 NA 36.07 23 NA 22.22 24 NA 9.43 25 NA 20.19 Total_Tested_with_Scores Area_1_Percentage_Near_Standard 1 127 31.25 2 4566 41.39 3 10403 46.24 4 6990 45.97 5 17396 39.13 6 1347 33.51 7 4500 43.51 8 7942 33.55 9 294 64.52 10 6216 43.65 11 979 47.47 12 1063 45.14 13 785 45.45 14 707 42.45 15 375 54.39 16 18251 34.33 17 2915 45.36 18 5044 39.82 19 192 35.48 20 52 54.55 21 862 44.87 22 765 53.28 23 179 70.27 24 1771 33.58 25 4603 35.91 Area_2_Percentage_Near_Standard Area_3_Percentage_Near_Standard 1 12.50 43.75 2 45.66 58.61 3 51.56 60.97 4 47.91 58.47 5 42.13 54.01 6 43.62 44.15 7 47.94 59.81 8 38.83 53.69 9 61.29 67.74 10 45.32 62.31 11 47.13 63.29 12 52.78 61.11 13 55.37 62.81 14 46.23 59.43 15 54.39 66.67 16 33.46 51.49 17 47.54 58.74 18 45.13 49.85 19 51.61 70.97 20 54.55 54.55 21 53.85 64.10 22 54.10 59.02 23 58.33 72.22 24 43.40 55.47 25 41.41 52.70 Area_4_Percentage_Near_Standard 1 12.50 2 42.39 3 43.32 4 45.00 5 38.82 6 31.38 7 44.62 8 37.83 9 48.39 10 42.20 11 44.30 12 41.67 13 41.32 14 46.23 15 57.89 16 35.02 17 47.27 18 39.82 19 29.03 20 45.45 21 42.31 22 54.10 23 66.67 24 36.23 25 39.56 [ reached 'max' / getOption("max.print") -- omitted 14 rows ] ``` ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe *ggplot() ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_03_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis * aes(y = Percentage_Standard_Exceeded) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_04_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + * aes(x = Mean_Scale_Score) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_05_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes * geom_point() ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_06_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics * aes(shape = County_Code ) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_07_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + * aes(color = County_Code ) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_08_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + aes(color = County_Code ) + * aes(size = Students_Tested) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_09_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + aes(color = County_Code ) + aes(size = Students_Tested) + # Alpha is transparency * aes(alpha = Percentage_Standard_Met_and_Above) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_10_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + aes(color = County_Code ) + aes(size = Students_Tested) + # Alpha is transparency aes(alpha = Percentage_Standard_Met_and_Above) + # Repeating will override * aes(color = Mean_Scale_Score) ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_11_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + aes(color = County_Code ) + aes(size = Students_Tested) + # Alpha is transparency aes(alpha = Percentage_Standard_Met_and_Above) + # Repeating will override aes(color = Mean_Scale_Score) + # Defining any details like legend * theme(legend.position = "none") ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_12_output-1.png) ] --- count: false .panel1-intro-auto[ ```r # Comparing Percent Exceeded and Scale Score library(ggplot2) # Or tidyverse caaspp %>% # pipe ggplot() + # Add axis aes(y = Percentage_Standard_Exceeded) + aes(x = Mean_Scale_Score) + # Define geometric shapes geom_point() + # Define more, optional aesthetics aes(shape = County_Code ) + aes(color = County_Code ) + aes(size = Students_Tested) + # Alpha is transparency aes(alpha = Percentage_Standard_Met_and_Above) + # Repeating will override aes(color = Mean_Scale_Score) + # Defining any details like legend theme(legend.position = "none") ``` ] .panel2-intro-auto[ ![](ggplot-flipbook_files/figure-html/intro_auto_13_output-1.png) ]  ??? Based on the state's research files. Only looking at all students, for ELA in Grade 5 in 2019. Filtered for only the first 6 county codes, so Alameda through Colusa Using an approach called SLOWggplot. Bit by bit. This isn't the way you would normally write the code but you can see each individual addition. --- # Components of a graph -- .left[ ### data ] -- .right[ ### CAASPP Data ] -- .left[ ### aesthetics ] -- .right[ ### Which variables are x, y, color, shape, size, etc. ] -- .left[ ### geom ] -- .right[ ### A scatter plot ] ??? We can go back to those there components that we discussed earlier and see how they were actualized in the graph we just made. --- name:barchart count: false .panel1-bar-auto[ ```r *susp.green ``` ] .panel2-bar-auto[ ``` X academic_year school_name reporting_category 1 1 2011-12 Emerald High GF 2 6 2011-12 State of California GF 3 12 2012-13 State of California GF 4 17 2012-13 Emerald High GF 5 23 2013-14 State of California GF 6 26 2013-14 Emerald High GF 7 32 2014-15 State of California GF 8 43 2014-15 Emerald High GF 9 52 2015-16 State of California GF 10 62 2015-16 Emerald High GF 11 75 2016-17 State of California GF 12 85 2016-17 Emerald High GF 13 95 2017-18 Emerald High GF 14 105 2017-18 State of California GF 15 115 2018-19 Emerald High GF 16 116 2018-19 Emerald High GF 17 133 2018-19 State of California GF 18 143 2019-20 Emerald High GF 19 155 2019-20 State of California GF 20 2 2011-12 Emerald High GM 21 7 2011-12 State of California GM 22 13 2012-13 State of California GM 23 18 2012-13 Emerald High GM 24 24 2013-14 State of California GM 25 27 2013-14 Emerald High GM 26 33 2014-15 State of California GM 27 44 2014-15 Emerald High GM 28 53 2015-16 State of California GM 29 63 2015-16 Emerald High GM 30 76 2016-17 State of California GM 31 86 2016-17 Emerald High GM 32 96 2017-18 Emerald High GM 33 106 2017-18 State of California GM 34 117 2018-19 Emerald High GM 35 118 2018-19 Emerald High GM 36 134 2018-19 State of California GM 37 144 2019-20 Emerald High GM 38 156 2019-20 State of California GM 39 3 2011-12 Emerald High RH 40 8 2011-12 State of California RH 41 14 2012-13 State of California RH 42 19 2012-13 Emerald High RH 43 25 2013-14 State of California RH 44 28 2013-14 Emerald High RH 45 34 2014-15 State of California RH 46 45 2014-15 Emerald High RH 47 54 2015-16 State of California RH 48 64 2015-16 Emerald High RH 49 77 2016-17 State of California RH 50 87 2016-17 Emerald High RH 51 97 2017-18 Emerald High RH 52 107 2017-18 State of California RH 53 119 2018-19 Emerald High RH 54 120 2018-19 Emerald High RH 55 135 2018-19 State of California RH 56 145 2019-20 Emerald High RH 57 157 2019-20 State of California RH 58 4 2011-12 Emerald High RW 59 9 2011-12 State of California RW 60 15 2012-13 State of California RW 61 20 2012-13 Emerald High RW 62 29 2013-14 Emerald High RW 63 35 2014-15 State of California RW 64 46 2014-15 Emerald High RW 65 55 2015-16 State of California RW 66 59 2013-14 State of California RW 67 65 2015-16 Emerald High RW 68 78 2016-17 State of California RW 69 88 2016-17 Emerald High RW 70 98 2017-18 Emerald High RW 71 108 2017-18 State of California RW 72 121 2018-19 Emerald High RW 73 122 2018-19 Emerald High RW 74 136 2018-19 State of California RW 75 146 2019-20 Emerald High RW 76 158 2019-20 State of California RW 77 56 2015-16 State of California SD 78 66 2015-16 Emerald High SD 79 79 2016-17 State of California SD 80 89 2016-17 Emerald High SD 81 99 2017-18 Emerald High SD 82 109 2017-18 State of California SD 83 123 2018-19 Emerald High SD 84 124 2018-19 Emerald High SD 85 137 2018-19 State of California SD 86 147 2019-20 Emerald High SD 87 159 2019-20 State of California SD 88 5 2011-12 Emerald High SE 89 10 2011-12 State of California SE 90 21 2012-13 Emerald High SE 91 30 2013-14 Emerald High SE 92 36 2014-15 State of California SE 93 41 2012-13 State of California SE 94 47 2014-15 Emerald High SE 95 57 2015-16 State of California SE 96 60 2013-14 State of California SE 97 67 2015-16 Emerald High SE 98 80 2016-17 State of California SE 99 90 2016-17 Emerald High SE<PHONE_NUMBER>-18 Emerald High SE<PHONE_NUMBER>-18 State of California SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 State of California SE<PHONE_NUMBER>-20 Emerald High SE<PHONE_NUMBER>-20 State of California SE 107 37 2014-15 State of California SH 108 48 2014-15 Emerald High SH 109 58 2015-16 State of California SH 110 68 2015-16 Emerald High SH 111 81 2016-17 State of California SH 112 91 2016-17 Emerald High SH<PHONE_NUMBER>-18 Emerald High SH<PHONE_NUMBER>-18 State of California SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 State of California SH<PHONE_NUMBER>-20 Emerald High SH<PHONE_NUMBER>-20 State of California SH 120 38 2014-15 State of California SM 121 49 2014-15 Emerald High SM 122 69 2015-16 Emerald High SM 123 72 2015-16 State of California SM 124 82 2016-17 State of California SM 125 92 2016-17 Emerald High SM<PHONE_NUMBER>-18 Emerald High SM<PHONE_NUMBER>-18 State of California SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 State of California SM<PHONE_NUMBER>-20 Emerald High SM<PHONE_NUMBER>-20 State of California SM 133 39 2014-15 State of California SS 134 50 2014-15 Emerald High SS 135 70 2015-16 Emerald High SS 136 73 2015-16 State of California SS 137 83 2016-17 State of California SS 138 93 2016-17 Emerald High SS<PHONE_NUMBER>-18 Emerald High SS<PHONE_NUMBER>-18 State of California SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-20 Emerald High SS<PHONE_NUMBER>-19 State of California SS<PHONE_NUMBER>-20 State of California SS 146 11 2011-12 State of California TA 147 16 2011-12 Emerald High TA 148 22 2012-13 Emerald High TA 149 31 2013-14 Emerald High TA 150 40 2014-15 State of California TA 151 42 2012-13 State of California TA 152 51 2014-15 Emerald High TA 153 61 2013-14 State of California TA 154 71 2015-16 Emerald High TA 155 74 2015-16 State of California TA 156 84 2016-17 State of California TA 157 94 2016-17 Emerald High TA<PHONE_NUMBER>-18 Emerald High TA<PHONE_NUMBER>-18 State of California TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-20 Emerald High TA<PHONE_NUMBER>-19 State of California TA<PHONE_NUMBER>-20 State of California TA definition suspension_rate_total 1 Female 5.4 2 Female 3.3 3 Female 2.9 4 Female 6.7 5 Female 2.4 6 Female 3.0 7 Female 2.1 8 Female 4.5 9 Female 2.0 10 Female 4.9 11 Female 2.0 12 Female 8.7 13 Female 13.2 14 Female 2.0 15 Female 10.8 16 Female 10.8 17 Female 2.0 18 Female 9.9 19 Female 1.4 20 Male 13.4 21 Male 8.0 22 Male 7.3 23 Male 22.5 24 Male 6.2 25 Male 11.6 26 Male 5.4 27 Male 14.7 28 Male 5.2 29 Male 15.3 30 Male 5.2 31 Male 24.7 32 Male 29.2 33 Male 5.0 34 Male 28.3 35 Male 28.3 36 Male 4.8 37 Male 15.3 38 Male 3.4 39 Hispanic or Latino 9.5 40 Hispanic or Latino 6.1 41 Hispanic or Latino 5.4 42 Hispanic or Latino 14.9 43 Hispanic or Latino 4.5 44 Hispanic or Latino 7.4 45 Hispanic or Latino 3.8 46 Hispanic or Latino 9.8 47 Hispanic or Latino 3.7 48 Hispanic or Latino 10.2 49 Hispanic or Latino 3.7 50 Hispanic or Latino 16.9 51 Hispanic or Latino 21.7 52 Hispanic or Latino 3.6 53 Hispanic or Latino 19.7 54 Hispanic or Latino 19.7 55 Hispanic or Latino 3.6 56 Hispanic or Latino 12.9 57 Hispanic or Latino 2.5 58 White 5.6 59 White 4.7 60 White 4.2 61 White 13.6 62 White 8.3 63 White 3.2 64 White 8.7 65 White 3.1 66 White 3.6 67 White 12.5 68 White 3.2 69 White 16.7 70 White 13.6 71 White 3.0 72 White 15.8 73 White 15.8 74 White 3.0 75 White 0.0 76 White 2.0 77 Students with Disabilities 7.4 78 Students with Disabilities 11.4 79 Students with Disabilities 7.1 80 Students with Disabilities 32.5 81 Students with Disabilities 29.1 82 Students with Disabilities 6.8 83 Students with Disabilities 31.7 84 Students with Disabilities 31.7 85 Students with Disabilities 6.4 86 Students with Disabilities 25.6 87 Students with Disabilities 4.9 88 English Learners 13.4 89 English Learners 6.7 90 English Learners 18.6 91 English Learners 10.1 92 English Learners 3.3 93 English Learners 5.8 94 English Learners 14.1 95 English Learners 3.1 96 English Learners 3.6 97 English Learners 14.5 98 English Learners 3.1 99 English Learners 23.7 100 English Learners 24.4 101 English Learners 3.0 102 English Learners 28.0 103 English Learners 28.0 104 English Learners 3.2 105 English Learners 21.1 106 English Learners 2.4 107 Homeless 6.0 108 Homeless 13.7 109 Homeless 5.9 110 Homeless 12.4 111 Homeless 5.8 112 Homeless 13.6 113 Homeless 28.1 114 Homeless 5.6 115 Homeless 30.0 116 Homeless 30.0 117 Homeless 6.3 118 Homeless 18.7 119 Homeless 4.7 120 Migrant 4.3 121 Migrant 5.2 122 Migrant 8.2 123 Migrant 4.1 124 Migrant 4.0 125 Migrant 13.2 126 Migrant 18.6 127 Migrant 4.0 128 Migrant 17.0 129 Migrant 17.0 130 Migrant 4.0 131 Migrant 15.0 132 Migrant 2.8 133 Socioeconomically Disadvantaged 4.9 134 Socioeconomically Disadvantaged 9.8 135 Socioeconomically Disadvantaged 11.2 136 Socioeconomically Disadvantaged 4.7 137 Socioeconomically Disadvantaged 4.7 138 Socioeconomically Disadvantaged 17.3 139 Socioeconomically Disadvantaged 22.1 140 Socioeconomically Disadvantaged 4.4 141 Socioeconomically Disadvantaged 20.6 142 Socioeconomically Disadvantaged 20.6 143 Socioeconomically Disadvantaged 13.1 144 Socioeconomically Disadvantaged 4.4 145 Socioeconomically Disadvantaged 3.2 146 Total 5.7 147 Total 9.5 148 Total 14.6 149 Total 7.3 150 Total 3.8 151 Total 5.2 152 Total 9.7 153 Total 4.3 154 Total 10.3 155 Total 3.7 156 Total 3.6 157 Total 16.8 158 Total 21.5 159 Total 3.5 160 Total 19.6 161 Total 19.6 162 Total 12.7 163 Total 3.5 164 Total 2.5 ``` ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset * filter(reporting_category == "TA") # All students ``` ] .panel2-bar-auto[ ``` X academic_year school_name reporting_category definition 1 11 2011-12 State of California TA Total 2 16 2011-12 Emerald High TA Total 3 22 2012-13 Emerald High TA Total 4 31 2013-14 Emerald High TA Total 5 40 2014-15 State of California TA Total 6 42 2012-13 State of California TA Total 7 51 2014-15 Emerald High TA Total 8 61 2013-14 State of California TA Total 9 71 2015-16 Emerald High TA Total 10 74 2015-16 State of California TA Total 11 84 2016-17 State of California TA Total 12 94 2016-17 Emerald High TA Total 13 104 2017-18 Emerald High TA Total 14 114 2017-18 State of California TA Total 15 141 2018-19 Emerald High TA Total 16 142 2018-19 Emerald High TA Total 17 152 2019-20 Emerald High TA Total 18 154 2018-19 State of California TA Total 19 164 2019-20 State of California TA Total suspension_rate_total 1 5.7 2 9.5 3 14.6 4 7.3 5 3.8 6 5.2 7 9.7 8 4.3 9 10.3 10 3.7 11 3.6 12 16.8 13 21.5 14 3.5 15 19.6 16 19.6 17 12.7 18 3.5 19 2.5 ``` ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students * ggplot( ) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_03_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + * aes(x = academic_year) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_04_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + * aes(y = as.numeric( suspension_rate_total)/100) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_05_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time * geom_col(position = "dodge" ) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_06_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group * aes(group = school_name) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_07_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline * aes(color = school_name) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_08_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline aes(color = school_name) + # Fill is Inside color * aes(fill = school_name) ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_09_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline aes(color = school_name) + # Fill is Inside color aes(fill = school_name) + # Adjust labels * labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_10_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline aes(color = school_name) + # Fill is Inside color aes(fill = school_name) + # Adjust labels labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + * labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_11_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline aes(color = school_name) + # Fill is Inside color aes(fill = school_name) + # Adjust labels labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme(legend.position = "bottom") ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_12_output-1.png) ] --- count: false .panel1-bar-auto[ ```r susp.green %>% # To reduce our dataset filter(reporting_category == "TA") %>% # All students ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # A different geom than last time geom_col(position = "dodge" ) + # "dodge" uses the group aes(group = school_name) + # Color is Outline aes(color = school_name) + # Fill is Inside color aes(fill = school_name) + # Adjust labels labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + theme(legend.position = "bottom") ``` ] .panel2-bar-auto[ ![](ggplot-flipbook_files/figure-html/bar_auto_13_output-1.png) ]  ??? Looking at a real High School which there were concerns about suspension data Start with a bar graph --- name: line count: false .panel1-first-auto[ ```r *susp.green ``` ] .panel2-first-auto[ ``` X academic_year school_name reporting_category 1 1 2011-12 Emerald High GF 2 6 2011-12 State of California GF 3 12 2012-13 State of California GF 4 17 2012-13 Emerald High GF 5 23 2013-14 State of California GF 6 26 2013-14 Emerald High GF 7 32 2014-15 State of California GF 8 43 2014-15 Emerald High GF 9 52 2015-16 State of California GF 10 62 2015-16 Emerald High GF 11 75 2016-17 State of California GF 12 85 2016-17 Emerald High GF 13 95 2017-18 Emerald High GF 14 105 2017-18 State of California GF 15 115 2018-19 Emerald High GF 16 116 2018-19 Emerald High GF 17 133 2018-19 State of California GF 18 143 2019-20 Emerald High GF 19 155 2019-20 State of California GF 20 2 2011-12 Emerald High GM 21 7 2011-12 State of California GM 22 13 2012-13 State of California GM 23 18 2012-13 Emerald High GM 24 24 2013-14 State of California GM 25 27 2013-14 Emerald High GM 26 33 2014-15 State of California GM 27 44 2014-15 Emerald High GM 28 53 2015-16 State of California GM 29 63 2015-16 Emerald High GM 30 76 2016-17 State of California GM 31 86 2016-17 Emerald High GM 32 96 2017-18 Emerald High GM 33 106 2017-18 State of California GM 34 117 2018-19 Emerald High GM 35 118 2018-19 Emerald High GM 36 134 2018-19 State of California GM 37 144 2019-20 Emerald High GM 38 156 2019-20 State of California GM 39 3 2011-12 Emerald High RH 40 8 2011-12 State of California RH 41 14 2012-13 State of California RH 42 19 2012-13 Emerald High RH 43 25 2013-14 State of California RH 44 28 2013-14 Emerald High RH 45 34 2014-15 State of California RH 46 45 2014-15 Emerald High RH 47 54 2015-16 State of California RH 48 64 2015-16 Emerald High RH 49 77 2016-17 State of California RH 50 87 2016-17 Emerald High RH 51 97 2017-18 Emerald High RH 52 107 2017-18 State of California RH 53 119 2018-19 Emerald High RH 54 120 2018-19 Emerald High RH 55 135 2018-19 State of California RH 56 145 2019-20 Emerald High RH 57 157 2019-20 State of California RH 58 4 2011-12 Emerald High RW 59 9 2011-12 State of California RW 60 15 2012-13 State of California RW 61 20 2012-13 Emerald High RW 62 29 2013-14 Emerald High RW 63 35 2014-15 State of California RW 64 46 2014-15 Emerald High RW 65 55 2015-16 State of California RW 66 59 2013-14 State of California RW 67 65 2015-16 Emerald High RW 68 78 2016-17 State of California RW 69 88 2016-17 Emerald High RW 70 98 2017-18 Emerald High RW 71 108 2017-18 State of California RW 72 121 2018-19 Emerald High RW 73 122 2018-19 Emerald High RW 74 136 2018-19 State of California RW 75 146 2019-20 Emerald High RW 76 158 2019-20 State of California RW 77 56 2015-16 State of California SD 78 66 2015-16 Emerald High SD 79 79 2016-17 State of California SD 80 89 2016-17 Emerald High SD 81 99 2017-18 Emerald High SD 82 109 2017-18 State of California SD 83 123 2018-19 Emerald High SD 84 124 2018-19 Emerald High SD 85 137 2018-19 State of California SD 86 147 2019-20 Emerald High SD 87 159 2019-20 State of California SD 88 5 2011-12 Emerald High SE 89 10 2011-12 State of California SE 90 21 2012-13 Emerald High SE 91 30 2013-14 Emerald High SE 92 36 2014-15 State of California SE 93 41 2012-13 State of California SE 94 47 2014-15 Emerald High SE 95 57 2015-16 State of California SE 96 60 2013-14 State of California SE 97 67 2015-16 Emerald High SE 98 80 2016-17 State of California SE 99 90 2016-17 Emerald High SE<PHONE_NUMBER>-18 Emerald High SE<PHONE_NUMBER>-18 State of California SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 State of California SE<PHONE_NUMBER>-20 Emerald High SE<PHONE_NUMBER>-20 State of California SE 107 37 2014-15 State of California SH 108 48 2014-15 Emerald High SH 109 58 2015-16 State of California SH 110 68 2015-16 Emerald High SH 111 81 2016-17 State of California SH 112 91 2016-17 Emerald High SH<PHONE_NUMBER>-18 Emerald High SH<PHONE_NUMBER>-18 State of California SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 State of California SH<PHONE_NUMBER>-20 Emerald High SH<PHONE_NUMBER>-20 State of California SH 120 38 2014-15 State of California SM 121 49 2014-15 Emerald High SM 122 69 2015-16 Emerald High SM 123 72 2015-16 State of California SM 124 82 2016-17 State of California SM 125 92 2016-17 Emerald High SM<PHONE_NUMBER>-18 Emerald High SM<PHONE_NUMBER>-18 State of California SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 State of California SM<PHONE_NUMBER>-20 Emerald High SM<PHONE_NUMBER>-20 State of California SM 133 39 2014-15 State of California SS 134 50 2014-15 Emerald High SS 135 70 2015-16 Emerald High SS 136 73 2015-16 State of California SS 137 83 2016-17 State of California SS 138 93 2016-17 Emerald High SS<PHONE_NUMBER>-18 Emerald High SS<PHONE_NUMBER>-18 State of California SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-20 Emerald High SS<PHONE_NUMBER>-19 State of California SS<PHONE_NUMBER>-20 State of California SS 146 11 2011-12 State of California TA 147 16 2011-12 Emerald High TA 148 22 2012-13 Emerald High TA 149 31 2013-14 Emerald High TA 150 40 2014-15 State of California TA 151 42 2012-13 State of California TA 152 51 2014-15 Emerald High TA 153 61 2013-14 State of California TA 154 71 2015-16 Emerald High TA 155 74 2015-16 State of California TA 156 84 2016-17 State of California TA 157 94 2016-17 Emerald High TA<PHONE_NUMBER>-18 Emerald High TA<PHONE_NUMBER>-18 State of California TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-20 Emerald High TA<PHONE_NUMBER>-19 State of California TA<PHONE_NUMBER>-20 State of California TA definition suspension_rate_total 1 Female 5.4 2 Female 3.3 3 Female 2.9 4 Female 6.7 5 Female 2.4 6 Female 3.0 7 Female 2.1 8 Female 4.5 9 Female 2.0 10 Female 4.9 11 Female 2.0 12 Female 8.7 13 Female 13.2 14 Female 2.0 15 Female 10.8 16 Female 10.8 17 Female 2.0 18 Female 9.9 19 Female 1.4 20 Male 13.4 21 Male 8.0 22 Male 7.3 23 Male 22.5 24 Male 6.2 25 Male 11.6 26 Male 5.4 27 Male 14.7 28 Male 5.2 29 Male 15.3 30 Male 5.2 31 Male 24.7 32 Male 29.2 33 Male 5.0 34 Male 28.3 35 Male 28.3 36 Male 4.8 37 Male 15.3 38 Male 3.4 39 Hispanic or Latino 9.5 40 Hispanic or Latino 6.1 41 Hispanic or Latino 5.4 42 Hispanic or Latino 14.9 43 Hispanic or Latino 4.5 44 Hispanic or Latino 7.4 45 Hispanic or Latino 3.8 46 Hispanic or Latino 9.8 47 Hispanic or Latino 3.7 48 Hispanic or Latino 10.2 49 Hispanic or Latino 3.7 50 Hispanic or Latino 16.9 51 Hispanic or Latino 21.7 52 Hispanic or Latino 3.6 53 Hispanic or Latino 19.7 54 Hispanic or Latino 19.7 55 Hispanic or Latino 3.6 56 Hispanic or Latino 12.9 57 Hispanic or Latino 2.5 58 White 5.6 59 White 4.7 60 White 4.2 61 White 13.6 62 White 8.3 63 White 3.2 64 White 8.7 65 White 3.1 66 White 3.6 67 White 12.5 68 White 3.2 69 White 16.7 70 White 13.6 71 White 3.0 72 White 15.8 73 White 15.8 74 White 3.0 75 White 0.0 76 White 2.0 77 Students with Disabilities 7.4 78 Students with Disabilities 11.4 79 Students with Disabilities 7.1 80 Students with Disabilities 32.5 81 Students with Disabilities 29.1 82 Students with Disabilities 6.8 83 Students with Disabilities 31.7 84 Students with Disabilities 31.7 85 Students with Disabilities 6.4 86 Students with Disabilities 25.6 87 Students with Disabilities 4.9 88 English Learners 13.4 89 English Learners 6.7 90 English Learners 18.6 91 English Learners 10.1 92 English Learners 3.3 93 English Learners 5.8 94 English Learners 14.1 95 English Learners 3.1 96 English Learners 3.6 97 English Learners 14.5 98 English Learners 3.1 99 English Learners 23.7 100 English Learners 24.4 101 English Learners 3.0 102 English Learners 28.0 103 English Learners 28.0 104 English Learners 3.2 105 English Learners 21.1 106 English Learners 2.4 107 Homeless 6.0 108 Homeless 13.7 109 Homeless 5.9 110 Homeless 12.4 111 Homeless 5.8 112 Homeless 13.6 113 Homeless 28.1 114 Homeless 5.6 115 Homeless 30.0 116 Homeless 30.0 117 Homeless 6.3 118 Homeless 18.7 119 Homeless 4.7 120 Migrant 4.3 121 Migrant 5.2 122 Migrant 8.2 123 Migrant 4.1 124 Migrant 4.0 125 Migrant 13.2 126 Migrant 18.6 127 Migrant 4.0 128 Migrant 17.0 129 Migrant 17.0 130 Migrant 4.0 131 Migrant 15.0 132 Migrant 2.8 133 Socioeconomically Disadvantaged 4.9 134 Socioeconomically Disadvantaged 9.8 135 Socioeconomically Disadvantaged 11.2 136 Socioeconomically Disadvantaged 4.7 137 Socioeconomically Disadvantaged 4.7 138 Socioeconomically Disadvantaged 17.3 139 Socioeconomically Disadvantaged 22.1 140 Socioeconomically Disadvantaged 4.4 141 Socioeconomically Disadvantaged 20.6 142 Socioeconomically Disadvantaged 20.6 143 Socioeconomically Disadvantaged 13.1 144 Socioeconomically Disadvantaged 4.4 145 Socioeconomically Disadvantaged 3.2 146 Total 5.7 147 Total 9.5 148 Total 14.6 149 Total 7.3 150 Total 3.8 151 Total 5.2 152 Total 9.7 153 Total 4.3 154 Total 10.3 155 Total 3.7 156 Total 3.6 157 Total 16.8 158 Total 21.5 159 Total 3.5 160 Total 19.6 161 Total 19.6 162 Total 12.7 163 Total 3.5 164 Total 2.5 ``` ] --- count: false .panel1-first-auto[ ```r susp.green %>% * filter(reporting_category == "TA") ``` ] .panel2-first-auto[ ``` X academic_year school_name reporting_category definition 1 11 2011-12 State of California TA Total 2 16 2011-12 Emerald High TA Total 3 22 2012-13 Emerald High TA Total 4 31 2013-14 Emerald High TA Total 5 40 2014-15 State of California TA Total 6 42 2012-13 State of California TA Total 7 51 2014-15 Emerald High TA Total 8 61 2013-14 State of California TA Total 9 71 2015-16 Emerald High TA Total 10 74 2015-16 State of California TA Total 11 84 2016-17 State of California TA Total 12 94 2016-17 Emerald High TA Total 13 104 2017-18 Emerald High TA Total 14 114 2017-18 State of California TA Total 15 141 2018-19 Emerald High TA Total 16 142 2018-19 Emerald High TA Total 17 152 2019-20 Emerald High TA Total 18 154 2018-19 State of California TA Total 19 164 2019-20 State of California TA Total suspension_rate_total 1 5.7 2 9.5 3 14.6 4 7.3 5 3.8 6 5.2 7 9.7 8 4.3 9 10.3 10 3.7 11 3.6 12 16.8 13 21.5 14 3.5 15 19.6 16 19.6 17 12.7 18 3.5 19 2.5 ``` ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% * ggplot( ) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_03_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + * aes(x = academic_year) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_04_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + * aes(y = as.numeric( suspension_rate_total)/100) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_05_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + * aes(group = school_name) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_06_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + aes(group = school_name) + # New geom, same data * geom_line( ) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_07_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + aes(group = school_name) + # New geom, same data geom_line( ) + * aes(color = school_name) ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_08_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + aes(group = school_name) + # New geom, same data geom_line( ) + aes(color = school_name) + * labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_09_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + aes(group = school_name) + # New geom, same data geom_line( ) + aes(color = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + * labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_10_output-1.png) ] --- count: false .panel1-first-auto[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + aes(group = school_name) + # New geom, same data geom_line( ) + aes(color = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") ``` ] .panel2-first-auto[ ![](ggplot-flipbook_files/figure-html/first_auto_11_output-1.png) ]  --- # Ease of modifcation and expansion -- - Can tweak individual parts easily -- - When making multiple graphs, only need to make change in one place -- - Others can reproduce your steps ??? Image you made a graph that you liked. Now imagine you have to do it for every school in your district or every school in the county. Now for superintendent wants you to change the blue to light blue on every graph. Now your colleague in San Diego wants to have it done for all of their schools. This is the power of using code to create the graphs and adaptability of ggplot. --- name: facet count: false .panel1-facet-auto[ ```r *susp.green ``` ] .panel2-facet-auto[ ``` X academic_year school_name reporting_category 1 1 2011-12 Emerald High GF 2 6 2011-12 State of California GF 3 12 2012-13 State of California GF 4 17 2012-13 Emerald High GF 5 23 2013-14 State of California GF 6 26 2013-14 Emerald High GF 7 32 2014-15 State of California GF 8 43 2014-15 Emerald High GF 9 52 2015-16 State of California GF 10 62 2015-16 Emerald High GF 11 75 2016-17 State of California GF 12 85 2016-17 Emerald High GF 13 95 2017-18 Emerald High GF 14 105 2017-18 State of California GF 15 115 2018-19 Emerald High GF 16 116 2018-19 Emerald High GF 17 133 2018-19 State of California GF 18 143 2019-20 Emerald High GF 19 155 2019-20 State of California GF 20 2 2011-12 Emerald High GM 21 7 2011-12 State of California GM 22 13 2012-13 State of California GM 23 18 2012-13 Emerald High GM 24 24 2013-14 State of California GM 25 27 2013-14 Emerald High GM 26 33 2014-15 State of California GM 27 44 2014-15 Emerald High GM 28 53 2015-16 State of California GM 29 63 2015-16 Emerald High GM 30 76 2016-17 State of California GM 31 86 2016-17 Emerald High GM 32 96 2017-18 Emerald High GM 33 106 2017-18 State of California GM 34 117 2018-19 Emerald High GM 35 118 2018-19 Emerald High GM 36 134 2018-19 State of California GM 37 144 2019-20 Emerald High GM 38 156 2019-20 State of California GM 39 3 2011-12 Emerald High RH 40 8 2011-12 State of California RH 41 14 2012-13 State of California RH 42 19 2012-13 Emerald High RH 43 25 2013-14 State of California RH 44 28 2013-14 Emerald High RH 45 34 2014-15 State of California RH 46 45 2014-15 Emerald High RH 47 54 2015-16 State of California RH 48 64 2015-16 Emerald High RH 49 77 2016-17 State of California RH 50 87 2016-17 Emerald High RH 51 97 2017-18 Emerald High RH 52 107 2017-18 State of California RH 53 119 2018-19 Emerald High RH 54 120 2018-19 Emerald High RH 55 135 2018-19 State of California RH 56 145 2019-20 Emerald High RH 57 157 2019-20 State of California RH 58 4 2011-12 Emerald High RW 59 9 2011-12 State of California RW 60 15 2012-13 State of California RW 61 20 2012-13 Emerald High RW 62 29 2013-14 Emerald High RW 63 35 2014-15 State of California RW 64 46 2014-15 Emerald High RW 65 55 2015-16 State of California RW 66 59 2013-14 State of California RW 67 65 2015-16 Emerald High RW 68 78 2016-17 State of California RW 69 88 2016-17 Emerald High RW 70 98 2017-18 Emerald High RW 71 108 2017-18 State of California RW 72 121 2018-19 Emerald High RW 73 122 2018-19 Emerald High RW 74 136 2018-19 State of California RW 75 146 2019-20 Emerald High RW 76 158 2019-20 State of California RW 77 56 2015-16 State of California SD 78 66 2015-16 Emerald High SD 79 79 2016-17 State of California SD 80 89 2016-17 Emerald High SD 81 99 2017-18 Emerald High SD 82 109 2017-18 State of California SD 83 123 2018-19 Emerald High SD 84 124 2018-19 Emerald High SD 85 137 2018-19 State of California SD 86 147 2019-20 Emerald High SD 87 159 2019-20 State of California SD 88 5 2011-12 Emerald High SE 89 10 2011-12 State of California SE 90 21 2012-13 Emerald High SE 91 30 2013-14 Emerald High SE 92 36 2014-15 State of California SE 93 41 2012-13 State of California SE 94 47 2014-15 Emerald High SE 95 57 2015-16 State of California SE 96 60 2013-14 State of California SE 97 67 2015-16 Emerald High SE 98 80 2016-17 State of California SE 99 90 2016-17 Emerald High SE<PHONE_NUMBER>-18 Emerald High SE<PHONE_NUMBER>-18 State of California SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 Emerald High SE<PHONE_NUMBER>-19 State of California SE<PHONE_NUMBER>-20 Emerald High SE<PHONE_NUMBER>-20 State of California SE 107 37 2014-15 State of California SH 108 48 2014-15 Emerald High SH 109 58 2015-16 State of California SH 110 68 2015-16 Emerald High SH 111 81 2016-17 State of California SH 112 91 2016-17 Emerald High SH<PHONE_NUMBER>-18 Emerald High SH<PHONE_NUMBER>-18 State of California SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 Emerald High SH<PHONE_NUMBER>-19 State of California SH<PHONE_NUMBER>-20 Emerald High SH<PHONE_NUMBER>-20 State of California SH 120 38 2014-15 State of California SM 121 49 2014-15 Emerald High SM 122 69 2015-16 Emerald High SM 123 72 2015-16 State of California SM 124 82 2016-17 State of California SM 125 92 2016-17 Emerald High SM<PHONE_NUMBER>-18 Emerald High SM<PHONE_NUMBER>-18 State of California SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 Emerald High SM<PHONE_NUMBER>-19 State of California SM<PHONE_NUMBER>-20 Emerald High SM<PHONE_NUMBER>-20 State of California SM 133 39 2014-15 State of California SS 134 50 2014-15 Emerald High SS 135 70 2015-16 Emerald High SS 136 73 2015-16 State of California SS 137 83 2016-17 State of California SS 138 93 2016-17 Emerald High SS<PHONE_NUMBER>-18 Emerald High SS<PHONE_NUMBER>-18 State of California SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-19 Emerald High SS<PHONE_NUMBER>-20 Emerald High SS<PHONE_NUMBER>-19 State of California SS<PHONE_NUMBER>-20 State of California SS 146 11 2011-12 State of California TA 147 16 2011-12 Emerald High TA 148 22 2012-13 Emerald High TA 149 31 2013-14 Emerald High TA 150 40 2014-15 State of California TA 151 42 2012-13 State of California TA 152 51 2014-15 Emerald High TA 153 61 2013-14 State of California TA 154 71 2015-16 Emerald High TA 155 74 2015-16 State of California TA 156 84 2016-17 State of California TA 157 94 2016-17 Emerald High TA<PHONE_NUMBER>-18 Emerald High TA<PHONE_NUMBER>-18 State of California TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-19 Emerald High TA<PHONE_NUMBER>-20 Emerald High TA<PHONE_NUMBER>-19 State of California TA<PHONE_NUMBER>-20 State of California TA definition suspension_rate_total 1 Female 5.4 2 Female 3.3 3 Female 2.9 4 Female 6.7 5 Female 2.4 6 Female 3.0 7 Female 2.1 8 Female 4.5 9 Female 2.0 10 Female 4.9 11 Female 2.0 12 Female 8.7 13 Female 13.2 14 Female 2.0 15 Female 10.8 16 Female 10.8 17 Female 2.0 18 Female 9.9 19 Female 1.4 20 Male 13.4 21 Male 8.0 22 Male 7.3 23 Male 22.5 24 Male 6.2 25 Male 11.6 26 Male 5.4 27 Male 14.7 28 Male 5.2 29 Male 15.3 30 Male 5.2 31 Male 24.7 32 Male 29.2 33 Male 5.0 34 Male 28.3 35 Male 28.3 36 Male 4.8 37 Male 15.3 38 Male 3.4 39 Hispanic or Latino 9.5 40 Hispanic or Latino 6.1 41 Hispanic or Latino 5.4 42 Hispanic or Latino 14.9 43 Hispanic or Latino 4.5 44 Hispanic or Latino 7.4 45 Hispanic or Latino 3.8 46 Hispanic or Latino 9.8 47 Hispanic or Latino 3.7 48 Hispanic or Latino 10.2 49 Hispanic or Latino 3.7 50 Hispanic or Latino 16.9 51 Hispanic or Latino 21.7 52 Hispanic or Latino 3.6 53 Hispanic or Latino 19.7 54 Hispanic or Latino 19.7 55 Hispanic or Latino 3.6 56 Hispanic or Latino 12.9 57 Hispanic or Latino 2.5 58 White 5.6 59 White 4.7 60 White 4.2 61 White 13.6 62 White 8.3 63 White 3.2 64 White 8.7 65 White 3.1 66 White 3.6 67 White 12.5 68 White 3.2 69 White 16.7 70 White 13.6 71 White 3.0 72 White 15.8 73 White 15.8 74 White 3.0 75 White 0.0 76 White 2.0 77 Students with Disabilities 7.4 78 Students with Disabilities 11.4 79 Students with Disabilities 7.1 80 Students with Disabilities 32.5 81 Students with Disabilities 29.1 82 Students with Disabilities 6.8 83 Students with Disabilities 31.7 84 Students with Disabilities 31.7 85 Students with Disabilities 6.4 86 Students with Disabilities 25.6 87 Students with Disabilities 4.9 88 English Learners 13.4 89 English Learners 6.7 90 English Learners 18.6 91 English Learners 10.1 92 English Learners 3.3 93 English Learners 5.8 94 English Learners 14.1 95 English Learners 3.1 96 English Learners 3.6 97 English Learners 14.5 98 English Learners 3.1 99 English Learners 23.7 100 English Learners 24.4 101 English Learners 3.0 102 English Learners 28.0 103 English Learners 28.0 104 English Learners 3.2 105 English Learners 21.1 106 English Learners 2.4 107 Homeless 6.0 108 Homeless 13.7 109 Homeless 5.9 110 Homeless 12.4 111 Homeless 5.8 112 Homeless 13.6 113 Homeless 28.1 114 Homeless 5.6 115 Homeless 30.0 116 Homeless 30.0 117 Homeless 6.3 118 Homeless 18.7 119 Homeless 4.7 120 Migrant 4.3 121 Migrant 5.2 122 Migrant 8.2 123 Migrant 4.1 124 Migrant 4.0 125 Migrant 13.2 126 Migrant 18.6 127 Migrant 4.0 128 Migrant 17.0 129 Migrant 17.0 130 Migrant 4.0 131 Migrant 15.0 132 Migrant 2.8 133 Socioeconomically Disadvantaged 4.9 134 Socioeconomically Disadvantaged 9.8 135 Socioeconomically Disadvantaged 11.2 136 Socioeconomically Disadvantaged 4.7 137 Socioeconomically Disadvantaged 4.7 138 Socioeconomically Disadvantaged 17.3 139 Socioeconomically Disadvantaged 22.1 140 Socioeconomically Disadvantaged 4.4 141 Socioeconomically Disadvantaged 20.6 142 Socioeconomically Disadvantaged 20.6 143 Socioeconomically Disadvantaged 13.1 144 Socioeconomically Disadvantaged 4.4 145 Socioeconomically Disadvantaged 3.2 146 Total 5.7 147 Total 9.5 148 Total 14.6 149 Total 7.3 150 Total 3.8 151 Total 5.2 152 Total 9.7 153 Total 4.3 154 Total 10.3 155 Total 3.7 156 Total 3.6 157 Total 16.8 158 Total 21.5 159 Total 3.5 160 Total 19.6 161 Total 19.6 162 Total 12.7 163 Total 3.5 164 Total 2.5 ``` ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now * ggplot( ) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_02_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + * aes(x = academic_year) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_03_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + * aes(y = as.numeric( suspension_rate_total)/100) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_04_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom * facet_wrap(~definition) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_05_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + * aes(group = school_name) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_06_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + * geom_line( show.legend = FALSE ) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_07_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + * aes(color = school_name) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_08_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + * scale_color_manual( * values = c("#000000", "#CC79A7")) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_09_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + * scale_y_continuous( * labels = scales::label_percent(1) ) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_10_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + * labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_11_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + * labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_12_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * labs(x = "Academic Year") ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_13_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + labs(x = "Academic Year") + * labs(y = "Suspension Rate") ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_14_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + labs(x = "Academic Year") + labs(y = "Suspension Rate") + * theme(axis.text.x = element_text(color=c(1,0,1,0))) ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_15_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + labs(x = "Academic Year") + labs(y = "Suspension Rate") + theme(axis.text.x = element_text(color=c(1,0,1,0))) + * theme_hc() ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_16_output-1.png) ] --- count: false .panel1-facet-auto[ ```r susp.green %>% # Notice, not filtering now ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + # Faceting is not a geom facet_wrap(~definition) + aes(group = school_name) + geom_line( show.legend = FALSE ) + aes(color = school_name) + scale_color_manual( values = c("#000000", "#CC79A7")) + scale_y_continuous( labels = scales::label_percent(1) ) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + labs(x = "Academic Year") + labs(y = "Suspension Rate") + theme(axis.text.x = element_text(color=c(1,0,1,0))) + theme_hc() ``` ] .panel2-facet-auto[ ![](ggplot-flipbook_files/figure-html/facet_auto_17_output-1.png) ]  --- count: false .panel1-bar_revisit2-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(color = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme_excel() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit2-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit2_rotate_01_output-1.png) ] --- count: false .panel1-bar_revisit2-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(color = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme_economist() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit2-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit2_rotate_02_output-1.png) ] --- count: false .panel1-bar_revisit2-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(color = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme_wsj() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit2-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit2_rotate_03_output-1.png) ] --- count: false .panel1-bar_revisit2-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(color = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme_gdocs() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit2-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit2_rotate_04_output-1.png) ] --- count: false .panel1-bar_revisit2-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(color = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * theme_hc() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit2-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit2_rotate_05_output-1.png) ]  ??? Themes help you adjust many elements all together. Here are a few themes that mimic popular settings in the world --- count: false .panel1-bar_revisit-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * scale_fill_colorblind() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit_rotate_01_output-1.png) ] --- count: false .panel1-bar_revisit-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * scale_fill_gdocs() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit_rotate_02_output-1.png) ] --- count: false .panel1-bar_revisit-rotate[ ```r susp.green %>% filter(reporting_category == "TA") %>% ggplot( ) + aes(x = academic_year) + aes(y = as.numeric( suspension_rate_total)/100) + geom_col(position = "dodge" ) + aes(group = school_name) + aes(fill = school_name) + labs(title = "Percentage Suspended in Emerald High \ncompared to California over time") + labs(caption = "Source: https://www.cde.ca.gov/ds/sd/sd/filessd.asp") + * scale_fill_few() + labs(x = "Academic Year") ``` ] .panel2-bar_revisit-rotate[ ![](ggplot-flipbook_files/figure-html/bar_revisit_rotate_03_output-1.png) ]  ??? Can easily change color palettes too --- # Principle of Proportional Ink -- ### The sizes of shaded areas in a visualization need to be proportional to the data values they represent. ??? This is sometimes refered to as chartjunk. Think about it in terms of how do you help the viewer only think about what they need to and what is most important, and not trying to decipher your work. -- ### Eliminate clutter -- ### Focus attention --- class: middle, center # Graph Chooser  http://experception.net/Franconeri_ExperCeptionDotNet_DataVisQuickRef.pdf ??? Can help determine the best graphs or geoms for your purpose. Not R specific. --- class: middle, center # R Graph Gallery  https://www.r-graph-gallery.com/ ??? Particularly useful if you know what you want it to look like but not how to make that --- # Book Resources ### Kieran Healy's Data Visualization: A practical introduction https://socviz.co/index.html#preface ### Hadley Wickham's ggplot2: Elegant Graphics for Data Analysis https://ggplot2-book.org/index.html ### Many others: https://bookdown.org/home/tags/visualization/ --- # When you get stuck ### Search StackOverflow ### Search R Community https://community.rstudio.com/ --- class: middle, center # Checklist  https://stephanieevergreen.com/data-visualization-checklist/ ??? Useful for thinking about clarity of your chart --- class: middle, center  ??? I want to hear from you. Please put in the chat, or share outloud sometihng you learned, unlearned or relearned learned - new unlearned - something you have been doing that you want to change or was 'wrong' relearned - a reminder of something from before --- class: inverse # Thanks: > **The flipbooked portion of this presentation was created with the {flipbookr} package. Get it at remotes::install_github("EvaMaeRey/flipbookr")** - In addition to creating flipbookr, Evangeline Reynolds inspired the approach to showing aspects of ggplot. https://evangelinereynolds.netlify.app/ - The formatting was learned and inspired from Allison Hill https://arm.rbind.io/slides/xaringan.html#1 - CAASPP data files: https://caaspp-elpac.cde.ca.gov/caaspp/ResearchFileList?ps=true&lstTestType=B&lstTestYear=2015&lstCounty=00&lstCntyNam=Select%20County...&lstFocus=btnApplySelections - Suspension data files: https://www.cde.ca.gov/ds/sd/sd/filessd.asp


{{ define "index/contact.html" }} {{ template "header.html" . }} {{ template "nav.html" . }} Contact Us In the history of modern astronomy, there is probably no one greater leap forward than the building and launch of the space telescope. Home Contact Us Binghamton, New York 4343 Hinkle Deegan Lake Road 00 (958) 9865 562 Mon to Fri 9am to 6 pm<EMAIL_ADDRESS>Send us your query anytime! Send Message {{ end }}
In the history of modern astronomy, there is probably no one greater leap forward than the building and launch of the space telescope.
4343 Hinkle Deegan Lake Road
Mon to Fri 9am to 6 pm
Send us your query anytime!


!Newbie Guide:
Select the one you seek below. Their location will be indicated on the screen.
[npc_%objectId%_NpcLocationInfo 32171|Warehouse Chief Hoffa]
[npc_%objectId%_NpcLocationInfo 32170|Warehouse Keeper Benis]
[npc_%objectId%_NpcLocationInfo 32172|Warehouse Freightman Saylem]
[npc_%objectId%_Link default/NPCloc/32135.htm|Go back to the list.]