R Programming Lab Manual
R Programming Lab Manual
Prepared by-A.balaji
1).Write a R program to take input from the user (name and age) and display
the values. Also print the version of R installation.
R Programming Code :
name = readline(prompt="Input your name: ")
print(R.version.string)
Sample Output:
Input your name:
Input your age:
[1] "My name is and I am years old."
[1] "R version 3.4.4 (2018-03-15)"
:R Programming Code :
name = "Python";
n1 = 10;
n2 = 0.5
print(ls())
print(ls.str())
Sample Output:
[1] "n1" "n2" "name" "nums"
[1] "Details of the objects in memory:"
n1 : num 10
n2 : num 0.5
name : chr "Python"
nums : num [1:6] 10 20 30 40 50 60
Output:
[1] "Sequence of numbers from 20 to 50:"
[1] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
[26] 45 46 47 48 49 50
[1] "Mean of numbers from 20 to 60:"
[1] 40
[1] "Sum of numbers from 51 to 91:"
[1] 2911
R Programming Code :
marks = c(70, 95, 80, 74)
barplot(marks,
xlab = "Marks",
ylab = "Subject",
names.arg = c("English", "Science", "Math.", "Hist."),
col = "darkred",
horiz = FALSE)
Output:
R Programming Code :
str1 = "The quick brown fox jumps over the lazy dog."
print("Original vector(string)")
print(str1)
print(unique(tolower(str1)))
nums = c(1, 2, 2, 3, 4, 4, 5, 6)
print("Original vector(number)")
print(nums)
print(unique(nums))
Output:
[1] "Original vector(string)"
[1] "The quick brown fox jumps over the lazy dog."
[1] "Unique elements of the said vector:"
[1] "the quick brown fox jumps over the lazy dog."
[1] "Original vector(number)"
[1] 1 2 2 3 4 4 5 6
[1] "Unique elements of the said vector:"
[1] 1 2 3 4 5 6
R Programming Code :
a<-c(1,2,3)
b<-c(4,5,6)
c<-c(7,8,9)
m<-cbind(a,b,c)
print(m)
Copy
Sample Output:
[1] "Content of the said matrix:"
a b c
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
R Programming Code :
print("5 × 4 matrix:")
print(m1)
cells = c(1,3,5,7,8,9,11,12,14)
print(m2)
print(m3) Output:
8) Write a R program to combine three arrays so that the first row of the first
array is followed by the first row of the second array and then first row of the
third array.
R Programming Code :
#https://bit.ly/2QkvW10
print("num1")
print(num1)
print("num2")
print(num2)
print(num3)
a = matrix(t(cbind(num1,num2,num3)),ncol=3, byrow=T)
print("Combine three arrays, taking one row from each one by one:")
print(a)
Output:
[1] "num1"
[,1] [,2] [,3]
[1,] "A" "A" "A"
[2,] "B" "B" "B"
[3,] "C" "C" "C"
[1] "num2"
[,1] [,2] [,3]
[1,] "P" "P" "P"
[2,] "Q" "Q" "Q"
[3,] "R" "R" "R"
[1] "num3"
[,1] [,2] [,3]
[1,] "X" "X" "X"
[2,] "Y" "Y" "Y"
[3,] "Z" "Z" "Z"
[1] "Combine three arrays, taking one row from each one by one:"
[,1] [,2] [,3]
[1,] "A" "A" "A"
[2,] "P" "P" "P"
[3,] "X" "X" "X"
[4,] "B" "B" "B"
[5,] "Q" "Q" "Q"
[6,] "Y" "Y" "Y"
[7,] "C" "C" "C"
[8,] "R" "R" "R"
[9,] "Z" "Z" "Z"
print(a)
Output:
[1] "Content of the array:"
[1] "5×3 array of sequence of even integers greater than 50:"
[,1] [,2] [,3]
[1,] 50 60 70
[2,] 52 62 72
[3,] 54 64 74
[4,] 56 66 76
[5,] 58 68 78
10) Write a R program to create an array using four given columns, three given
rows, and two given tables and display the content of the array.
R Programming Code :
array1 = array(1:30, dim=c(3,5,2))
print(array1)
Output:
, , 1
, , 2
R Programming Code :
df = data.frame(Ints=integer(),
Doubles=double(),
Characters=character(),
Logicals=logical(),
Factors=factor(),
stringsAsFactors=FALSE)
print(str(df))
Output:
[1] "Structure of the empty dataframe:"
'data.frame': 0 obs. of 5 variables:
$ Ints : int
$ Doubles : num
$ Characters: chr
$ Logicals : logi
$ Factors : Factor w/ 0 levels:
NULL
12) Write a R program to create a data frame from four given vectors.
R Programming Code:
name = c('Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael',
'Matthew', 'Laura', 'Kevin', 'Jonas')
attempts = c(1, 3, 2, 3, 2, 3, 1, 1, 2, 1)
qualify = c('yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes')
print(name)
print(score)
print(attempts)
print(qualify)
print(df)
Copy
Sample Output:
[1] "Original data frame:"
[1] "Anastasia" "Dima" "Katherine" "James" "Emily"
"Michael"
[7] "Matthew" "Laura" "Kevin" "Jonas"
[1] 12.5 9.0 16.5 12.0 9.0 20.0 14.5 13.5 8.0 19.0
[1] 1 3 2 3 2 3 1 1 2 1
[1] "yes" "no" "yes" "no" "no" "yes" "yes" "no" "no" "yes"
name score attempts qualify
1 Anastasia 12.5 1 yes
2 Dima 9.0 3 no
3 Katherine 16.5 2 yes
4 James 12.0 3 no
5 Emily 9.0 2 no
6 Michael 20.0 3 yes
7 Matthew 14.5 1 yes
8 Laura 13.5 1 no
9 Kevin 8.0 2 no
10 Jonas 19.0 1 yes
13) Write a R program to create a data frame using two given vectors and display
the duplicated elements and unique rows of the said data frame.
R Programming Code :
print("Original vector:")
print(v)
f = factor(v)
print(f)
levels(f)[1] = "e"
print(f)
Copy
Sample Output:
[1] "Original vector:"
[1] "a" "b" "a" "c" "b"
[1] "Factor of the said vector:"
[1] a b a c b
Levels: a b c
[1] e b e c b
Levels: e b c
14) Write a R program to save the information of a data frame in a file and
display the information of the file.
R Programming Code:
exam_data = data.frame(
qualify = c('yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes')
print("Original dataframe:")
print(exam_data)
save(exam_data,file="data.rda")
load("data.rda")
file.info("data.rda")
Output:
[1] "Original dataframe:"
name score attempts qualify
1 Anastasia 12.5 1 yes
2 Dima 9.0 3 no
3 Katherine 16.5 2 yes
4 James 12.0 3 no
5 Emily 9.0 2 no
6 Michael 20.0 3 yes
7 Matthew 14.5 1 yes
8 Laura 13.5 1 no
9 Kevin 8.0 2 no
10 Jonas 19.0 1 yes
size isdir mode mtime ctime
data.rda 344 FALSE 644 2018-10-25 12:06:09 2018-10-25 12:06:09
atime uid gid uname grname
data.rda 2018-10-25 12:06:09 1000 1000 trinket trinket
R Programming Code:
l = list()
for (i in 1:5) l[[i]] <- c(i, 1:4)
print("List of vectors:")
print(l)
result = do.call(rbind, l)
print("New Matrix:")
print(result)
Output:
[1] "List of vectors:"
[[1]]
[1] 1 1 2 3 4
[[2]]
[1] 2 1 2 3 4
[[3]]
[1] 3 1 2 3 4
[[4]]
[1] 4 1 2 3 4
[[5]]
[1] 5 1 2 3 4
16) Write a R program to concatenate two given matrices of same column but
different rows.
R Programming Code:
x = matrix(1:12, ncol=3)
y = matrix(13:24, ncol=3)
print("Matrix-1")
print(x)
print("Matrix-2")
print(y)
result = dim(rbind(x,y))
print(result)
Output:
[1] "Matrix-1"
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12
[1] "Matrix-2"
[,1] [,2] [,3]
[1,] 13 17 21
[2,] 14 18 22
[3,] 15 19 23
[4,] 16 20 24
[1] "After concatenating two given matrices:"
[1] 8 3
17) Write a R program to find row and column index of maximum and minimum
value in a given matrix.
R Programming Code:
m = matrix(c(1:16), nrow = 4, byrow = TRUE)
print("Original Matrix:")
print(m)
print(result)
print(result)
Output:
[1] "Original Matrix:"
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
[4,] 13 14 15 16
[1] "Row and column of maximum value of the said matrix:"
row col
[1,] 4 4
[1] "Row and column of minimum value of the said matrix:"
row col
[1,] 1 1
values = c(0,1,2,3,4,5,6,7,8,9)
for (i in 1:length(values))
print(vector)
Output:
[1] 0 1 2 3 4 5 6 7 8 9
19) Write a R program to multiply two vectors of integers type and length 3
R Programming Code :
x = c(10, 20, 30)
print("Original Vectors:")
print(x)
print(y)
z = x / y
print(z)
Output:
[1] "Original Vectors:"
[1] 10 20 30
[1] 20 10 40
[1] "Product of two Vectors:"
[1] 0.50 2.00 0.75
20) Write a R program to find Sum, Mean and Product of a Vector, ignore
element like NA or NaN.
R Programming Code :
x = c(10, NULL, 20, 30, NA)
print("Sum:")
print(sum(x, na.rm=TRUE))
print("Mean:")
print(mean(x, na.rm=TRUE))
print("Product:")
print(prod(x, na.rm=TRUE))
Copy
Sample Output:
[1] "Sum:"
[1] 60
[1] "Mean:"
[1] 20
[1] "Product:"
[1] 6000
21) Write a R program to list containing a vector, a matrix and a list and give
names to the elements in the list.
R Programming Code :
print("List:")
print(list_data)
print(list_data)
print('1st element:')
print(list_data[1])
print('2nd element:')
print(list_data[2])
Output:
[1] "List:"
[[1]]
[1] "Red" "Green" "Black"
[[2]]
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 3 7 11
[[3]]
[[3]][[1]]
[1] "Python"
[[3]][[2]]
[1] "PHP"
[[3]][[3]]
[1] "Java"
$`Odd numbers`
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 3 7 11
$`Language(s)`
$`Language(s)`[[1]]
[1] "Python"
$`Language(s)`[[2]]
[1] "PHP"
$`Language(s)`[[3]]
[1] "Java"
[1] "1st element:"
$Color
[1] "Red" "Green" "Black"
22) Write a R program to create a list containing a vector, a matrix and a list and
give names to the elements in the list. Access the first and second element of the
list.
R Programming Code :
list_data <- list(c("Red","Green","Black"), matrix(c(1,3,5,7,9,11), nrow = 2),
print("List:")
print(list_data)
list_data[2] = NULL
print("New list:")
print(list_data)
Output:
[1] "List:"
[[1]]
[1] "Red" "Green" "Black"
[[2]]
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 3 7 11
[[3]]
[[3]][[1]]
[1] "Python"
[[3]][[2]]
[1] "PHP"
[[3]][[3]]
[1] "Java"
[1] "Remove the second element of the list:"
[1] "New list:"
[[1]]
[1] "Red" "Green" "Black"
[[2]]
[[2]][[1]]
[1] "Python"
[[2]][[2]]
[1] "PHP"
[[2]][[3]]
[1] "Java"
23) Write a R program to create a list containing a vector, a matrix and a list and
remove the second element.
R Programming Code :
print("List:")
print(list_data)
list_data[2] = NULL
print("New list:")
print(list_data)
Output:
[1] "List:"
[[1]]
[1] "Red" "Green" "Black"
[[2]]
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 3 7 11
[[3]]
[[3]][[1]]
[1] "Python"
[[3]][[2]]
[1] "PHP"
[[3]][[3]]
[1] "Java"
[[2]]
[[2]][[1]]
[1] "Python"
[[2]][[2]]
[1] "PHP"
[[2]][[3]]
[1] "Java"
print(x)
e = lapply(x, '[[', 2)
print(e)
Output:
[1] "Original nested list:"
[[1]]
[[1]][[1]]
[1] 0
[[1]][[2]]
[1] 2
[[2]]
[[2]][[1]]
[1] 3
[[2]][[2]]
[1] 4
[[3]]
[[3]][[1]]
[1] 5
[[3]][[2]]
[1] 6
[[2]]
[1] 4
[[3]]
[1] 6
25) Write a R program to merge two given lists into one list.
R Programming Code :
n1 = list(1,2,3)
print("Original lists:")
print(n1)
print(c1)
print(mlist)
Output:
[1] "Original lists:"
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[1]]
[1] "Red"
[[2]]
[1] "Green"
[[3]]
[1] "Black"
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "Red"
[[5]]
[1] "Green"
[[6]]
[1] "Black"
R Programming Code :
print(l)
Output:
[1] "Content of the list:"
[1] "Sequence of 15 capital letters, starting from ‘E’-"
[1] "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T"
27) Write a R program to assign new names "a", "b" and "c" to the elements of a
given list.
R Programming Code :
print("Original list:")
print(list1)
print("Assign new names 'one', 'two' and 'three' to the elements of the said
list")
print(list1)
Output:
[1] "Original list:"
$g1
[1] 1 2 3 4 5 6 7 8 9 10
$g2
[1] "R Programming"
$g3
[1] "HTML"
[1] "Assign new names 'one', 'two' and 'three' to the elements of the
said list"
$one
[1] 1 2 3 4 5 6 7 8 9 10
$two
[1] "R Programming"
$three
[1] "HTML"
print("Original vector:")
print(v)
print(levels(factor(v)))
Output:
[1] "Original vector:"
[1] 1 2 3 3 4 NA 3 2 4 5 NA 5
[1] "Levels of factor of the said vector:"
[1] "1" "2" "3" "4" "5"
29) Write a R program to create an ordered factor from data consisting of the
names of months.
R Programming Code :
mons_v = c("March","April","January","November","January",
"September","October","September","November","August","February",
"January","November","November","February","May","August","February",
"July","December","August","August","September","November","September",
"February","April")
print("Original vector:")
print(mons_v)
f = factor(mons_v)
print(f)
print(table(f))
Output:
[1] "Original vector:"
[1] "March" "April" "January" "November" "January"
"September"
[7] "October" "September" "November" "August" "February"
"January"
[13] "November" "November" "February" "May" "August"
"February"
[19] "July" "December" "August" "August" "September"
"November"
[25] "September" "February" "April"
[1] "Ordered factors of the said vector:"
[1] March April January November January September October
[8] September November August February January November
November
[15] February May August February July December August
[22] August September November September February April
11 Levels: April August December February January July March May ...
September
f
April August December February January July March
May
2 4 1 4 3 1 1
1
November October September
5 1 4
30) Write a R program to concatenate two given factor in a single factor.
R Programming Code :
f1 <- factor(sample(LETTERS, size=6, replace=TRUE))
print("Original factors:")
print(f1)
print(f2)
f = factor(c(levels(f1)[f1], levels(f2)[f2]))
print(f)
Copy
Sample Output:
[1] "Original factors:"
[1] Q Y M J J H
Levels: H J M Q Y
[1] B J L S F Z
Levels: B F J L S Z
[1] "After concatenate factor becomes:"
[1] Q Y M J J H B J L S F Z
Levels: B F H J L M Q S Y Z