Programming with R for Official Statistics: Introduction to Programming (2024)

Last updated on 2024-07-09 | Edit this page

Overview

Questions

  • What is programming?
  • What is object oriented programming?
  • How to document code?
  • What is a directory?

Objectives

  • Learn basic concepts of programming

What is programming?

Programmers use programming languages to give instructions to theircomputers. In this course, we will learn how to use the open sourcelanguage R to complete common tasks required in the field of officialstatistics. This includes the basics of R, data manipulation, and bestpractices.

There are a few reasons why programming with R is useful for officialstatistics. Data manipulation and analysis with R is:

  • Time-saving: R can complete many computations on a large amountof data that would take a person a long time manually

  • Reproducible: This code can be re-run with other data with smallmodifications and shared with others to be applied to other newpurposes

  • Transparent: When you’ve completed a script using best practices,you should be left with a clear list of instructions to complete thedata analysis in the form of code. This avoids “black boxes” where ananalyst is unsure what they’ve done to the data to get it to it’s finalform

R is an object oriented programming language

Object oriented programming languages use objects as theirmain tools. These objects have classes, which describe theirgeneral properties. For example, in R you might work withnumeric objects, which would contain numbers. You could alsowork with characters, which would be composed of text. We’llexplore classes and data types thoroughly in Episode 3 (Data Types andStructures). We can assign “labels” to these objects, creating avariable and use them interchangeably. We assign objects withan assignment operator. In R, the most commonly used assignment operatoris <-. Try reproducing the example below on your machineby entering the code into the console and hitting the “run” button.

R

# Assign a number to a variablenumber_flowers <- 8# Print the variable's contentsprint(number_flowers)

We can get the value stored within the variable by printing it.

[1] 8

Assigning a new value to a variable breaks the connection with theold value; R forgets that number and applies the variable name to thenew value.

When you assign a value to a variable, R only stores the value, notthe calculation you used to create it. This is an important point ifyou’re used to the way a spreadsheet program automatically updateslinked cells. Let’s look at an example.

# Reassign the variablenumber_flowers <- 7

{: .language-r)

OUTPUT

[1] 7

Variable Naming Conventions

Historically, R programmers have used a variety of conventions fornaming variables. The . > character in R can be a validpart of a variable name; thus the above assignment could have easilybeen weight.kg <- 57.5. This is often confusing to Rnewcomers who have programmed in languages where . has amore significant meaning. Today, most R programmers 1) start variablenames with lower case letters, 2) separate words > in variable nameswith underscores, and 3) use only lowercase letters, underscores, andnumbers in variable names. The Tidyverse Style Guide includes asection on thisand other style considerations.

Documenting Code

Notice that in the above examples, hashtags (#) are usedbefore giving instructions that are intended for you rather than R.Hashtags produce comments, which are handy for leavinginformation about the code that will follow. Commenting as much code aspossible is part of best practices. Always comment your code! You owe itto your colleagues who may see your code (not to mention your futurecoding self).

# Hashtags go before commented code, which is not run# print("This code will not be run")print("Always comment your code!")

OUTPUT

[1] "Always comment your code!"

Directories

A directory is a location on your machine. Say you’d like to open afile that’s located in a folder on your computer. We need to tell Rwhere to look for the file if we expect to find it. Directories areusually listed by referencing nested folders separated by slashes. Thereare small differences due to operating system (OS), so refer todocumentation specific to your OS when learning to work with folderstructures.

For example: /Users/Documents/Learning-R points to afolder called “Learning-R” in a user’s documents folder. Depending onyour IDE (Integrated Development Environment) and setup, you can printyour current directory, known as the working directory. Rautomatically reads and writes files from and to your current workingdirectory.

R

# print current working directory getwd()

OUTPUT

[1] "/Users/Documents/

Before beginning our lessons, please set your working directory tothe folder that we created in the setup section withsetwd(). For example, if your folder is namedLearning-R:

R

# change current working directory setwd("~/Documents/Learning-R")

Key Points

  • Programming makes our work faster, more reproducible, and moretransparent.
  • R is an object oriented programming language
  • Document your code with comments
  • A working directory is the active location on your computer where Rcan read and write files
Programming with R for Official Statistics: Introduction to Programming (2024)

References

Top Articles
85 Landscaping Ideas That Make the Most of Your Outdoor Space
32 Simple Landscaping Ideas to Try This Year
[Re-Usable] - SSNSonicHD - Expanded & Enhanced
Tales From The Crib Keeper 14
Aarf Anchorage Alaska
Miramar Water Utility
Superhot Unblocked Games
Petty Bourgeoisie | Encyclopedia.com
Seth Juszkiewicz Obituary
The biggest intelligence leaks in US history
Lesson 10 Homework 5.3
Voy Pageant Discussion
Paperless Guide: Workflow
The Courier from Waterloo, Iowa
Dabs Utah State Liquor Store #09 - Murray
Pwc Transparency Report
Sour Animal Strain Leafly
Model Center Jasmin
Patriot Ledger Obits Today
High school football: Photos from the top Week 3 games Friday
Uga Im Leagues
Truist Bank Open Saturday
St Paul Pioneer Obituaries Past 30 Days Of
Tina's Nails Stanwood
Alvin Isd Ixl
Jordan Torres Leaked
Dtm Urban Dictionary
All Added and Removed Players in NBA 2K25 (Help Us Catch 'Em All)
Arkansas Craigslist Cars For Sale By Owner
Espn College Basketball Scores
Taco Bell Fourth Of July Hours
Walgreens Pharmacy | Manage Prescriptions, Transfers, and Refills
Find Words Containing Specific Letters | WordFinder®
Active Parent Aberdeen Ms
Handshoe's Flea Market & Salvage Llc Photos
Craftybase Coupon
Erica Mena Net Worth Forbes
Rubios Listens Com
Restored Republic December 1 2022
Rooftop Snipers Unblocked Games Premium
The 7 Cs of Communication: Enhancing Productivity and Effectiveness
Fototour verlassener Fliegerhorst Schönwald [Lost Place Brandenburg]
Kino am Raschplatz - Vorschau
Skip The Games Albany
A1.35.3 Spanish short story: Tending the Garden
Tacos Diego Hugoton Ks
What Is TAA Trade Agreements Act Compliance Trade Agreement Act Certification
Intel Core i3-4130 - CM8064601483615 / BX80646I34130
Breitling ENDURANCE PRO X82310E51B1S1 für 2.885 € kaufen von einem Trusted Seller auf Chrono24
'It's huge': Will Louisville's Logan Street be the next Findlay or Pike Place market?
Jefferey Dahmer Autopsy Photos
Siôn Parry: The Welshman in the red of Canada
Latest Posts
Article information

Author: Golda Nolan II

Last Updated:

Views: 5959

Rating: 4.8 / 5 (78 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Golda Nolan II

Birthday: 1998-05-14

Address: Suite 369 9754 Roberts Pines, West Benitaburgh, NM 69180-7958

Phone: +522993866487

Job: Sales Executive

Hobby: Worldbuilding, Shopping, Quilting, Cooking, Homebrewing, Leather crafting, Pet

Introduction: My name is Golda Nolan II, I am a thoughtful, clever, cute, jolly, brave, powerful, splendid person who loves writing and wants to share my knowledge and understanding with you.