• Deep R Programming Book Club
  • Welcome
    • Book club meetings
    • Pace
  • 1 Introduction
    • Preface 1
    • Preface 2
    • Preface 3
    • Introduction 1.
      • 1.0.1 Interactive mode
      • 1.0.2 Batch mode
      • 1.0.3 Semi interactive:
  • 2 Numeric vectors
    • Creating numeric vector 1
      • 2.0.1 Numeric constant
      • 2.0.2 Vectors
      • 2.0.3 Arithmetic progressions seq and :
      • 2.0.4 Generating pseudorandom numbers
      • 2.0.5 reading data with scan
    • Creating named objects
    • Vectorised mathematical functions
    • 2.1 Probability distributions:
    • Arithmetic operations
      • 2.1.1 Vectorised arithmetic operators
      • 2.1.2 Recycling rule
      • 2.1.3 Operator precedence
      • 2.1.4 Accumulating
      • 2.1.5 Aggregating
    • Meeting Videos
      • Cohort 1
  • 3 Logical vectors
    • Creating logical vectors
    • 3.1 Comparing elements (1)
    • 3.2 Comparing elements, NA, NaN, Inf (2)
    • 3.3 Dealing with integer and floating point numbers
    • 3.4 Logical operations
      • 3.4.1 Vectorized logical operations:
      • 3.4.2 missingness
      • 3.4.3 Aggregating with all, any and sum
      • 3.4.4 Simplify predicates
    • 3.5 Selecting elements based on a condition: ifelse
    • 3.6 Good resource:
    • Meeting Videos
      • Cohort 1
  • 4 Lists and Attributes
    • Converting between Vector Types
    • Converting between Vector Types
    • Exercise 4-1
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Lists
    • Lists
    • Lists
    • Lists
    • Lists
    • Lists
    • Attributes
    • Attributes
    • Attributes
    • Attributes
    • Exercise 4-2
    • Exercise 4-2
    • Exercise 4-3
    • Exercise 4-3
    • Exercise 4-3
    • Exercise 4-4
    • Exercise 4-4
    • Exercise 4-4
    • Exercise 4-4
    • Exercise 4-5
    • Exercise 4-5
    • Exercise 4-5
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-6
    • Exercise 4-7
    • Exercise 4-7
    • Exercise 4-7
    • Exercise 4-7
    • Exercise 4-8
    • Exercise 4-8
    • Exercise 4-8
    • Exercise 4-8
    • Exercise 4-8
    • Exercise 4-9
    • Exercise 4-9
    • Exercise 4-10
    • Meeting Videos
      • Cohort 1
  • 5 Vector indexing
    • Basics
      • 5.0.1 head() and tail()
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[' - Extract or Replace
    • '[[' and recursiveness
    • '[[' and recursiveness
    • '[<-' and '[[<-'
    • Useful functions
    • match() and %in%
    • findInterval()
    • findInterval()
      • 5.0.2 Exercise 5-21
    • split() and unsplit()
    • split() and unsplit()
    • split() on data.frames
    • vs. Dplyr
    • vs. Dplyr
    • order() and sort()
    • order() and sort()
    • duplicated()
    • tabulate()
    • tabulate()
    • Subsetting and Attributes
    • Applications
    • Applications
    • Applications
    • Exercises?
    • Meeting Videos
      • Cohort 1
  • 6 Character vectors
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 7 Functions
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 8 Flow of execution
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 9 Designing functions
    • Managing data flow
      • 9.0.1 Exerice 9.1
      • 9.0.2 Exercice 9.6
      • 9.0.3 Putting outputs into context
      • 9.0.4 Exercise 9.8
      • 9.0.5 Using invisible()
    • Organising and maintaining functions
      • 9.0.6 Function libraries
      • 9.0.7 Writing R packages
      • 9.0.8 Documenting
      • 9.0.9 Writing standalone programs
      • 9.0.10 Assuring quality code
      • 9.0.11 Test-driven development
    • Special functions: Syntactic sugar
      • 9.0.12 Replacement functions!
    • Arguments and local variables
      • 9.0.13 Call by value vs call by reference
      • 9.0.14 Variable scope
      • 9.0.15 Closures
      • 9.0.16 Default arguments
      • 9.0.17 Lazy versus eager evaluation
      • 9.0.18 Ellipsis ...
    • Principles of sustainable design
      • 9.0.19 To write or abstain
      • 9.0.20 To pamper or challenge
      • 9.0.21 To build or reusing
      • 9.0.22 To Revolt or evolve
    • 9.1 Exercices
      • 9.1.1 Exercise 9.37
      • 9.1.2 Exercise 9.38
      • 9.1.3 Exercise 9.39
      • 9.1.4 Exercise 9.40
    • Meeting Videos
      • Cohort 1
  • 10 S3 classes
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 11 Matrices and other arrays
    • What is a matrix and an array
      • 11.0.1 S3 all the way!
      • 11.0.2 Not just numeric
    • How to create and/or convert to it
    • Matrix and array manipulations
      • 11.0.3 what you know on indexing on data.frame works here
      • 11.0.4 But behind the scene it is just a vector:
      • 11.0.5 Selecting by submatrices
      • 11.0.6 Higher-dimensional array (mostly know as contingency table)
    • 11.1 “Common operations”:
      • 11.1.1 Binary operators
    • Meeting Videos
      • Cohort 1
  • 12 Data frames
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 13 Graphics
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 14 Interfacing compiled code (**)
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 15 Unevaluated expressions (*)
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 16 Environments and evaluation (*)
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • 17 Lazy evaluation (**)
    • SLIDE 1
    • Meeting Videos
      • Cohort 1
  • Published with bookdown

Deep R Programming Book Club

3.6 Good resource:

Julia’s zine:

https://store.wizardzines.com/products/how-integers-and-floats-work