R Assignment
R Assignment
Problem 1: Use R as a calculator to compute the following values. After you do so, cut and paste
your input and output from R to Word. Add numbering in Word to identify each part of each
problem. (Do this for every problem from now on).
Ans:
(a):27(48-19)
> a<-27*(48-19)
>a
[1] 783
(*) operator is used for multiplication and (-) operator is used for subtraction.
(b): 19^7
> a<-19^7
>a
[1] 893871739
(^) operator is used for power.
(c) √436/12
> a<-sqrt(436/12)
>a
[1] 6.027714
Sqrt() is a function which is used to find the square root of a number
Problem 2: Create the following vectors in R. (2 Point) a = (5, 10, 15, 20, ..., 160) b = (97, 96, 95, ...,
56) Use vector arithmetic to multiply these vectors and call the result d. Select subsets of d to
identify the following. (a) What is the 13th, 14th, and 15st elements of d? (b) What are all of the
elements of d which are less than 2000?
Solution:
> a=seq(5,160,5)
>a
[1] 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
[20] 100 105 110 115 120 125 130 135 140 145 150 155 160
Seq() takes three inputs – starting number, ending number, and increment by value
> b<-97:56
>b
[1] 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73
[26] 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56
Warning message:
>d
[1] 485 960 1425 1880 2325 2760 3185 3600 4005 4400 4785 5160
[13] 5525 5880 6225 6560 6885 7200 7505 7800 8085 8360 8625 8880
[25] 9125 9360 9585 9800 10005 10200 10385 10560 325 640 945 1240
a and b are two vectors. Elements of vector a and b are multiplied to obtain vector d.
[1] 5525
> d[14]
[1] 5880
> d[15]
[1] 6225
13th,14th and 15th elements of vector d are shown using vector indexing
(b): > d[d<2000]
[1] 485 960 1425 1880 325 640 945 1240 1525 1800
Ans:
(a): >sum(d)
[1] 217745
[1] 3369.714
Sd() function is used to calculate the standard deviation in vector d which is the square root
of its variance.
Problem 4: Using the concept of Vector perform the following:
a) Create a vector name student and add 10 vector values into it.
d) Show the vector values available at position 4th , 7th, and 10th in any vector.
f) Add one more vector into existing vector student called subject and show it.
Ans:
(a):
>student<c("Ram","Shyam","Gyan","Iqbal","Ketan","Param","Nancy","Nakul","Ambika","
Ankur")
A vector name student is created with 10 names as its elements.
(b)
age<-c(18,19,20,21,22,23,24,25,26,27)
A vector name age is created with age of ten students as its elements.
(c)
> student
[1] "Ram" "Shyam" "Gyan" "Iqbal" "Ketan"
[6] "Param" "Nancy" "Nakul" "Ambika" "Ankur"
> age
[1] 18 19 20 21 22 23 24 25 26 27
All the assigned values in the vector student and age can shown by calling the vector student
and age respectively.
(d) > student[4]
[1] "Iqbal"
> student[7]
[1] "Nancy"
> student[10]
[1] "Ankur"
The elements in vectors student and age can be referenced using vector indexing.
(e)
> studentInfo<-data.frame(student,age)
> studentInfo
student age
1 Ram 18
2 Shyam 19
3 Gyan 20
4 Iqbal 21
5 Ketan 22
6 Param 23
7 Nancy 24
8 Nakul 25
9 Ambika 26
10 Ankur 27
The two vectors student and age can be framed together by using data.frame() function.
(f)
> student<-c("subject")
> student
[1] "subject”
(g)
> age<-c(28)
> studentrecord<-data.frame(student,age)
> studentrecord
student age
1 subject 28
> Newstudentrecord<-rbind(studentInfo,studentrecord)
> Newstudentrecord
student age
1 Ram 18
2 Shyam 19
3 Gyan 20
4 Iqbal 21
5 Ketan 22
6 Param 23
7 Nancy 24
8 Nakul 25
9 Ambika 26
10 Ankur 27
11 subject 28
The elements of vector studentinfo and studentrecord can be combined by using rbind()
function
Q.5 R list is the object which contains elements of different types – like strings, numbers, vectors and
another list inside it. R list can also contain a matrix or a function as its elements. The list is created
using the list() function in R. In other words, a list is a generic vector containing other objects. So
create three lists named as vec, char_vec and logic_vec such as : vec <- c(1,2,3) char_vec <-
c("Hadoop", "Spark", "Flink", "Mahout") logic_vec <- c(TRUE, FALSE, TRUE, FALSE) Print the list and
access the third element from list char_vec and merge all the lists together.
Ans:
> vec<-c(1,2,3)
> vec
[1] 1 2 3
> char_vec
> logic_vec
> char_vec[3]
[1] "Flink"
>a
Problem 6: Load the file with the name WHO1. Identify the number of variables and objects existing
in the dataset. After analyzing variables perform the following on (WHO1) (3 Point)
visualize the data variable using plot() and boxplot() and label them as per your choice. Also give
title to the various plots and take a screenshot of your output copy on word and send it to me for
the evaluation with proper explanation. (5 Points)
Create table for any variable existing in data set and apply tapply() function
Ans:
>boxplot(WHO1$e_tbhiv_prct ~
WHO1$g_whoregion,xlab="Region",ylab="e_tbhiv_prct",main="Region wise e_tbhiv_prct")
A box plot makes a plot between the first and third quartile of the data set and the line in the
box marks the median value. The difference between the first and third quartile gives the
interquartile range (IQR). Whiskers are drawn on either sides of the first and third quartile
mark till 1.5 times IQR. Here we have used the boxplot() function to draw the graph.
(b): >table(WHO1$g_whoregion)
Problem 7:
(a): > x <- data.frame("Student" =
+ c("Ron","Jake","Ava","Sophia","Mia"),"Marks" = c(35,75,45,30,85))
>x
Student Marks
1 Ron 35
2 Jake 75
3 Ava 45
4 Sophia 30
5 Mia 85
> str(x)
$ Marks : num 35 75 45 30 85
> print(x)
Student Marks
1 Ron Fail
2 Jake Pass
3 Ava Pass
4 Sophia Fail
5 Mia Pass
x is a data set which has names of students and their corresponding marks. Here we have used
the ifelse condition to give out the result. The condition is applied for each student.
(b): > mymat<-matrix(nrow=20,ncol=20)
> for(i in 1:dim(mymat)[1]){for(j in 1:dim(mymat)[2]){mymat[i,j]=i*j}}
> mymat[1:10,1:10]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 2 3 4 5 6 7 8 9 10
[2,] 2 4 6 8 10 12 14 16 18 20
[3,] 3 6 9 12 15 18 21 24 27 30
[4,] 4 8 12 16 20 24 28 32 36 40
[5,] 5 10 15 20 25 30 35 40 45 50
[6,] 6 12 18 24 30 36 42 48 54 60
[7,] 7 14 21 28 35 42 49 56 63 70
[8,] 8 16 24 32 40 48 56 64 72 80
[9,] 9 18 27 36 45 54 63 72 81 90
[10,] 10 20 30 40 50 60 70 80 90 100
mymat is a matrix which has 20 rows and 20 columns. nrow and ncol is used to define the
number of rows and columns in a matrix. Only the first 10 rows and 10 columns are shown in
the result