Skip to main content

R: Importing Data

There are number of ways in importing data into R, and several formats are available,
  • From Excel to R;
  • from SPSS to R; and,
  • from Stata to R, and more here.
In this post, we are going to talk about importing common data format that we often encounter, such as Excel and Text data. Most of the data are saved in MS Excel, and the best way to import this is to save this in CSV format, below is the procedure:
  • Open your Excel data;
  • go to File > Save As or press Ctrl+Shift+S;
  • name this with anything you want, say "Data". Then before clicking Save, make sure to change the File Format to Comma Delimited Text and better set the directory to My Documents folder, for Windows.
  • when saved, this file will have a name "Data.csv".
Now open R, and run the following

MyRData <- read.csv("Data.csv", header = TRUE)
view raw RCode3.R hosted with ❤ by GitHub
The argument header = TRUE tells R that the first row of the data are the labels of every column. If set to FALSE, means the first row of the data are not the labels, but are considered as data points.

Now in some cases, data are saved in Text (.txt) format. And to import this, we use the read.table function. Consider the data below, and say this is saved as Data1.txt in My Documents folder (for Windows).

College Prof Asct.Prof Asst.Prof Ins
CASS 30 21 23 19
CBAA 6 6 8 2
CED 15 12 13 14
COE 16 10 8 9
CON 0 1 9 12
CSM 45 36 28 15
IDS 6 6 10 9
SCS 4 10 11 10
SET 23 11 8 11
view raw ImpData1.txt hosted with ❤ by GitHub
To import this to R, simply run,

MyRData2 <- read.table("Data1.txt", header = TRUE)
view raw ImpData2.R hosted with ❤ by GitHub
Or apply read.table directly to the data

MyRData3<- read.table(header = TRUE,
text = "College Prof Asct.Prof Asst.Prof Ins
CASS 30 21 23 19
CBAA 6 6 8 2
CED 15 12 13 14
COE 16 10 8 9
CON 0 1 9 12
CSM 45 36 28 15
IDS 6 6 10 9
SCS 4 10 11 10
SET 23 11 8 11")
view raw ImpData3.R hosted with ❤ by GitHub
There are times, however, when the Text data are saved in the internet, here is an example. To import this to R, of course, make sure of the internet connection first. Next, copy the URL of the data and assign this to any variable name, then apply read.table. Try the codes below,

library(RCurl)
web <- "https://raw.githubusercontent.com/alstat/Analysis-with-Programming/master/2013/R/How%20to%20Enter%20Your%20Data/Data.dat"
x <- getURL(web)
y <- read.table(text = x, header = TRUE)
# OUTPUT
id Code S3 S2 S1 S1.1 S2.1 S3.1 Weight.class
1 Slope1 6 4 2 NA NA NA NA
2 Slope2 16 8 4 NA NA NA NA
3 Slope3 30 16 8 NA NA NA NA
4 Flood 2 1 1 NA NA NA NA
5 Drainage 3 3 2 NA NA NA NA
view raw ImpData4.R hosted with ❤ by GitHub