week 1: gettin starte wit r - george washington university
TRANSCRIPT
![Page 1: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/1.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� REMSE 4574: Intro to Programming for AnalyticsEMSE 4574: Intro to Programming for Analytics
John Paul HelvestonJohn Paul Helveston
September 01, 2020September 01, 2020
![Page 2: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/2.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� R
1. Course Introduction1. Course Introduction
2. Break: Install Course Tools2. Break: Install Course Tools
3. Getting started with R & RStudio3. Getting started with R & RStudio
4. Operators & data types4. Operators & data types
5. Preview of HW 15. Preview of HW 12 / 622 / 62
![Page 3: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/3.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� R
1. 1. Course IntroductionCourse Introduction
2. Break: Install Course Tools2. Break: Install Course Tools
3. Getting started with R & RStudio3. Getting started with R & RStudio
4. Operators & data types4. Operators & data types
5. Preview of HW 15. Preview of HW 13 / 623 / 62
![Page 4: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/4.jpg)
John Helveston, Ph.D.
Assistant Professor, Engineering Management & Systems Engineering
2016-2018 Postdoc at Institute for Sustainable Energy, Boston University
2016 PhD in Engineering & Public Policy at Carnegie Mellon University
2015 MS in Engineering & Public Policy at Carnegie Mellon University
2010 BS in Engineering Science & Mechanics at Virginia Tech
Website: www.jhelvy.com
Meet your instructor!
4 / 62
![Page 5: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/5.jpg)
Saurav Pantha (aka "The Firefighter")
Graduate Assistant (GA)
Masters student in EMSE
Meet your tutors!
5 / 62
![Page 6: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/6.jpg)
Jennifer Kim (aka "The Monitor")
Learning Assistant (LA)
EMSE Junior & P4A alumni
Meet your tutors!
6 / 62
![Page 7: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/7.jpg)
Course orientation Everything you need will be on the course website:
https://p4a.seas.gwu.edu/2020-Fall/
Course is broken into two chunks:
1. Programming
2. Analytics7 / 62
![Page 8: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/8.jpg)
Homeworks (48% of grade) ~Every week (12 total)
Soft due dates (11pm Monday before class)
Don't abuse this flexibility
Two hard deadlines on homework submissions:
1. Oct. 20 (HWs 1-6)
2. Dec. 08 (HWs 7-12)8 / 62
![Page 9: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/9.jpg)
Quizzes (15% of grade) In class every other week-ish (7 total, drop lowest 2)
5 minutes (3-5 questions)
Example quizWhy quiz at all? There's a phenomenon called the "retrieval effect" - basically,you have to practice remembering things, otherwise your brain won't rememberthem (details in the book "Make It Stick: The Science of Successful Learning").
9 / 62
![Page 10: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/10.jpg)
Exams (32% of grade) Midterm (weeks 1 - 6) on Oct. 20
Final (weeks 1 - 13) on Dec. 15
10 / 62
![Page 11: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/11.jpg)
Grading: Standard
Course Component Weight Notes
Homeworks 48% 12 x 4% each
Quizzes 15% 5 x 3% each
Midterm Exam 12%
Final Exam 20%
Participation 5%
11 / 62
![Page 12: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/12.jpg)
Grading: Alternative Minimum Grade (AMG)Students who struggle early on, but work hard to succeed in 2nd half.
Highest possible grade is "C"
Course Component Weight
Best 10 Homeworks 40%
Best 4 Quizzes 10%
Midterm Exam 10%
Final Exam 40%
12 / 62
![Page 13: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/13.jpg)
Course policies
BE NICE. BE HONEST. DON'T CHEAT.
Write your own code (even in "collaborative" assignments)
Don't cheat
13 / 62
![Page 14: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/14.jpg)
Take care of your brain
Sleep!
Exercise!
Eat good food!
Start HW early!
Take breaks often!
Ask for help!
How to succeed in this class
14 / 62
![Page 15: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/15.jpg)
Getting Help Use Slack to ask questions.
Meet with your tutors
Schedule a meeting w/Prof. Helveston:Tuesdays from 3:30-4:30pm
Wednesdays from 2:00-4:30pm
Fridays from 12:00-2:00pm
GW Coders 15 / 62
![Page 16: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/16.jpg)
Course Tools (see course prep lesson) Slack
Link to join (also posted on Blackboard announcement).
Install Slack on your phone and turn notifications on!
16 / 62
![Page 17: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/17.jpg)
After installed:
Open this:
Not this:
R: Engine RStudio: Dashboard
Course Tools (see course prep lesson) R & RStudio (Install both)
17 / 62
![Page 18: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/18.jpg)
Course Tools (see course prep lesson)
GWU VPN (Install Cisco AnyConnect VPN Client)
+ = RStudio online!
18 / 62
![Page 19: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/19.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� R
1. Course Introduction1. Course Introduction
2. 2. Break: Install Course ToolsBreak: Install Course Tools
3. Getting started with R & RStudio3. Getting started with R & RStudio
4. Operators & data types4. Operators & data types
5. Preview of HW 15. Preview of HW 119 / 6219 / 62
![Page 20: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/20.jpg)
Install Course Tools (see course prep lesson) Slack
Link to join (also posted on Blackboard announcement).
Install Slack on your phone and turn notifications on!
R & RStudio (Install both)
GWU VPN (Install Cisco AnyConnect VPN Client)
+ = RStudio online!20 / 62
![Page 21: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/21.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� R
1. Course Introduction1. Course Introduction
2. Break: Install Course Tools2. Break: Install Course Tools
3. 3. Getting started with R & RStudioGetting started with R & RStudio
4. Operators & data types4. Operators & data types
5. Preview of HW 15. Preview of HW 121 / 6221 / 62
![Page 22: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/22.jpg)
Know the boxes
Customize the layout
Customize the look
Extra themes
RStudio Orientation
22 / 62
![Page 23: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/23.jpg)
Your first conveRsationWrite stuff in the console, then press "enter"
Example: addition
3 + 4
## [1] 7
Example: error
3 + "4"
## Error in 3 + "4": non-numeric argument to binary operator
23 / 62
![Page 24: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/24.jpg)
Storing valuesUse the "<-" symbol to assign values to objects
Example:
x <- 40x
## [1] 40
x + 2
## [1] 42
24 / 62
![Page 25: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/25.jpg)
Storing valuesIf you overwrite an object, R "forgets" the old value
Example:
x <- 42x
## [1] 42
x <- 50x
## [1] 50
25 / 62
![Page 26: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/26.jpg)
Storing valuesYou can also use the "=" symbol to assign values
(but you really should use "<-")
Example:
x = 42x
## [1] 42
y <- 42y
## [1] 42
26 / 62
![Page 27: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/27.jpg)
Storing valuesYou can store more than just numbers
Example:
x <- "If you want to view paradise"y <- "simply look around and view it"
x
## [1] "If you want to view paradise"
y
## [1] "simply look around and view it"
27 / 62
![Page 28: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/28.jpg)
Pro tip 1:
Shortcut for "<-" symbol
OS Shortcut
mac option + -
windows alt + -
(see here for more shortcuts)
Pro tip 2:
Always surround "<-" with spaces
Example:
x<-2
Does this mean x <- 2 or x < -2?
Storing values
28 / 62
![Page 29: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/29.jpg)
R ignores extra spacex <- 2y <- 3z <- 4
Check:
x
## [1] 2
y
## [1] 3
z
## [1] 4
R cares about casenumber <- 2Number <- 3numbeR <- 4
Check:
number
## [1] 2
Number
## [1] 3
numbeR
## [1] 4
29 / 62
![Page 30: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/30.jpg)
Use # for commentsR ignores everything after the # symbol
Example:
speed <- 42 # This is mph, not km/h!speed
## [1] 42
30 / 62
![Page 31: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/31.jpg)
Use meaningful variable namesExample: You are recording the speed of a car in mph
Poor variable name:
x <- 42
Good variable name:
speed <- 42
Even better variable name:
car_speed_mph <- 42
31 / 62
![Page 32: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/32.jpg)
Art by Allison Horst
I recommend using one of these:
snake_case_uses_underscores
camelCaseUsesCaps
Example:
days_in_week <- 7monthsInYear <- 12
Use standard casing styles
32 / 62
![Page 33: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/33.jpg)
View all the current objects:
objects()
Remove an object by name:
rm(number)objects()
The workspace
## [1] "car_speed_mph" "days_in_week" "monthsIn## [5] "numbeR" "Number" "speed" ## [9] "y" "z"
## [1] "car_speed_mph" "days_in_week" "monthsInY## [5] "Number" "speed" "x" ## [9] "z"
33 / 62
![Page 34: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/34.jpg)
View prior code in history pane
Use "up" arrow see previous code34 / 62
![Page 35: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/35.jpg)
Staying organized
1) Save your code in .R files
File > New File > R Script
2) Keep work in R Project files
File > New Project...
35 / 62
![Page 36: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/36.jpg)
Your turnYour turn
A. Practice getting organizedA. Practice getting organized
1. Open RStudio and create a new R project calledOpen RStudio and create a new R project calledweek1week1..
2. Create a new R script and save it as Create a new R script and save it as practice.Rpractice.R..
3. Open the Open the practice.Rpractice.R file and write your answers file and write your answersto the question below in it.to the question below in it.
B. Creating & working with objectsB. Creating & working with objects
1). Create objects to store the values in this table:1). Create objects to store the values in this table:
CityCity Area (sq. mi.)Area (sq. mi.) PopulationPopulation
San Francisco, CASan Francisco, CA 46.8746.87 884,363884,363
Chicago, ILChicago, IL 227.63227.63 2,716,4502,716,450
Washington, DCWashington, DC 61.0561.05 693,972693,972
2) Use the objects you created to answer the following2) Use the objects you created to answer the followingquestions:questions:
- Which city has the highest density?- Which city has the highest density?- How many _more_ people would need to live in DC- How many _more_ people would need to live in DC
1010::000036 / 6236 / 62
![Page 37: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/37.jpg)
Week 1: Week 1: Gettin� Starte� wit� RGettin� Starte� wit� R
1. Course Introduction1. Course Introduction
2. Break: Install Course Tools2. Break: Install Course Tools
3. Getting started with R & RStudio3. Getting started with R & RStudio
4. 4. Operators & data typesOperators & data types
5. Preview of HW 15. Preview of HW 137 / 6237 / 62
![Page 38: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/38.jpg)
Basic operators:
Addition: +
Subtraction: -
Multiplication: *
Division: /
Other important operators:
Power: ^
Integer Division: %/%
Modulus: %%
R as a calculator
38 / 62
![Page 39: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/39.jpg)
Integer division: %/%Integer division drops the remainder
Example:
4 / 3 # Regular division
## [1] 1.333333
4 %/% 3 # Integer division
## [1] 1
39 / 62
![Page 40: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/40.jpg)
Integer division: %/%Integer division drops the remainder
What will this return?
4 %/% 4
## [1] 1
What will this return?
4 %/% 5
## [1] 0
40 / 62
![Page 41: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/41.jpg)
Modulus operator: %%Modulus returns the remainder after doing integer division
Example:
5 %% 3
## [1] 2
3.1415 %% 3
## [1] 0.1415
41 / 62
![Page 42: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/42.jpg)
Modulus operator: %%Modulus returns the remainder after doing integer division
What will this return?
4 %% 4
## [1] 0
What will this return?
4 %% 5
## [1] 4
42 / 62
![Page 43: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/43.jpg)
If n %% 2 is 0, n is EVEN
10 %% 2
## [1] 0
12 %% 2
## [1] 0
Also works with negative numbers!
-42 %% 2
## [1] 0
If n %% 2 is 1, n is ODD
1 %% 2
## [1] 1
13 %% 2
## [1] 1
Also works with negative numbers!
-47 %% 2
## [1] 1
Odds and evens with n %% 2
43 / 62
![Page 44: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/44.jpg)
The mod operator (%%) "chops" a numberand returns everything to the right
123456 %% 1
## [1] 0
123456 %% 10
## [1] 6
123456 %% 100
## [1] 56
Integer division (%/%) "chops" a numberand returns everything to the left
123456 %/% 1
## [1] 123456
123456 %/% 10
## [1] 12345
123456 %/% 100
## [1] 1234
Number "chopping" with 10s
44 / 62
![Page 45: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/45.jpg)
Number "chopping" with 10s%% returns everything to the right ("chop" ->)
%/% returns everything to the left (<- "chop")
The "chop" point is always just to the right of the chopping digit:
Example “Chop” point “Chop” point description
1234 %% 1 1234 | Right of the 1’s digit
1234 %% 10 123 | 4 Right of the 10’s digit
1234 %% 100 12 | 34 Right of the 100’s digit
1234 %% 1000 1 | 234 Right of the 1,000’s digit
1234 %% 10000 | 1234 Right of the 10,000’s digit45 / 62
![Page 46: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/46.jpg)
Compare if condition is TRUE orFALSE using:
Less than: <
Less than or equal to : <=
Greater than or equal to: >=
Greater than: >
Equal: ==
Not equal: !=
2 < 2
## [1] FALSE
2 <= 2
## [1] TRUE
(2 + 2) == 4
## [1] TRUE
(2 + 2) != 4
## [1] FALSE
"penguin" == "penguin"
## [1] TRUE
Comparing things: Relational operators
46 / 62
![Page 47: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/47.jpg)
Make multiple comparisons with:
And: &
Or: |
Not: !
With "and" (&), every part must be TRUE,otherwise the whole statement is FALSE:
(2 == 2) & (3 == 3)
## [1] TRUE
(2 == 2) & (2 == 3)
## [1] FALSE
Comparing things: Logical operators
47 / 62
![Page 48: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/48.jpg)
Make multiple comparisons with:
And: &
Or: |
Not: !
With "or" (|), if any part is TRUE, the wholestatement is TRUE:
(2 == 2) | (3 == 3)
## [1] TRUE
(2 == 2) | (2 == 3)
## [1] TRUE
Comparing things: Logical operators
48 / 62
![Page 49: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/49.jpg)
Make multiple comparisons with:
And: &
Or: |
Not: !
The "not" (!) symbol produces the oppositestatement:
! (2 == 2)
## [1] FALSE
! ((2 == 2) | (2 == 3))
## [1] FALSE
Comparing things: Logical operators
49 / 62
![Page 50: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/50.jpg)
And: &
"Are any of the statementsFALSE"?
(2 == 2) & (2 == 3) & (4 == 4)
## [1] FALSE
Or: |
"Are any of the statementsTRUE"?
(2 == 2) | (2 == 3) | (4 == 7)
## [1] TRUE
& > |
The & operator takesprecedence over |
(2 == 2) | (2 == 3) & (4 == 7)
## [1] TRUE
Comparing things: Logical operators
50 / 62
![Page 51: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/51.jpg)
Pro tip: Use parentheses
!3 == 5 # Confusing
## [1] TRUE
!(3 == 5) # Less confusing
## [1] TRUE
Comparing things: Logical operators
51 / 62
![Page 52: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/52.jpg)
R follows BEDMAS:
1. Brackets
2. Exponents
3. Division
4. Multiplication
5. Addition
6. Subtraction
Pro tip: Use parentheses
1 + 2 * 4 # Confusing
## [1] 9
1 + (2 * 4) # Less confusing
## [1] 9
Other important points
52 / 62
![Page 53: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/53.jpg)
Your turnYour turnConsider the following objects:Consider the following objects:
w <- w <- TRUETRUEx <- x <- FALSEFALSEy <- y <- TRUETRUE
Write code to answer the following questions:Write code to answer the following questions:
1. Fill in Fill in relationalrelational operators to make the following statement return operators to make the following statement return TRUETRUE::
! (w __ x) & ! (y __ x)! (w __ x) & ! (y __ x)
2. Fill in Fill in logicallogical operators to make this statement return operators to make this statement return FALSEFALSE::
! (w __ x) | (y __ x)! (w __ x) | (y __ x)
1010::0000
53 / 6253 / 62
![Page 54: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/54.jpg)
Data TypesType Description Example
double Numbers w/decimals (aka "float") 3.14
integer Numbers w/out decimals 42
character Text (aka "string") "this is some text"
logical Used for comparing objects TRUE, FALSE
Use typeof() to assess the type of any variable:
typeof("hello")
## [1] "character"
54 / 62
![Page 55: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/55.jpg)
IntegersNo decimals (e.g. 7)
Doubles (aka "float")Decimals (e.g. 7.0)
Numeric types (there are 2)
55 / 62
![Page 56: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/56.jpg)
In R, numbers are "doubles" by default Example:
typeof(3)
## [1] "double"
Even though it looks like an integer, R assumes that 3 is really 3.0
Make it an integer by adding L:
typeof(3L)
## [1] "integer"
56 / 62
![Page 57: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/57.jpg)
Character typesUse single or double quotes around anything:
typeof('hello')
## [1] "character"
typeof("3")
## [1] "character"
Use single / double quotes if the string contains a quote symbol:
typeof("don't")
## [1] "character"
57 / 62
![Page 58: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/58.jpg)
Logical data only have two values:TRUE or FALSE
typeof(TRUE)
## [1] "logical"
typeof(FALSE)
## [1] "logical"
Note that these have to be in all caps,and not in quotes:
typeof('TRUE')
## [1] "character"
typeof(True)
Logical types
## Error in typeof(True): object 'True' not found
58 / 62
![Page 59: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/59.jpg)
Logical typesUse to answer questions about logical statements.
Example: Is 1 greater than 2?
1 > 2
## [1] FALSE
Example: Is 2 greater than 1?
1 < 2
## [1] TRUE
59 / 62
![Page 60: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/60.jpg)
Special valuesInfinity: Infreally bignumbers
1/0
## [1] Inf
Not a Number:NaN"not a number"
0/0
## [1] NaN
Not available: NAvalue is "missing"
No value: NULLno valuewhatsoever
60 / 62
![Page 61: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/61.jpg)
Your turnYour turnWill these return Will these return TRUETRUE or or FALSEFALSE??
(try to answer first, then run the code to check)(try to answer first, then run the code to check)! typeof('3') == typeof(3)! typeof('3') == typeof(3)
(typeof(7) != typeof("FALSE")) | FALSE(typeof(7) != typeof("FALSE")) | FALSE
! (typeof(TRUE) == typeof(FALSE)) & FALSE! (typeof(TRUE) == typeof(FALSE)) & FALSE
0505::0000
61 / 6261 / 62
![Page 62: Week 1: Gettin Starte wit R - George Washington University](https://reader030.vdocuments.mx/reader030/viewer/2022021406/62097f963cdf084ce068f78c/html5/thumbnails/62.jpg)
Final points
1) HW 1 Preview
Read carefully!
2) Please take this survey
62 / 62