DAV LAB
DAV LAB
A.PROGRAM:
int_vector<-c(1,2,3,4,5)
print("Integer vector:")
print(int_vector)
char_vector<-c("apple","banana","Cherry")
print('character vector:')
print(char_vector)
my_list<-list(int_vector,char_vector,3.14,TRUE)
print("list:")
print(my_list)
print(my_list[[2]])
data<-data.frame(
Name=c("john","mary","steve"),
Age=c(23,25,30),
Score=c(88.5,91.3,85.0)
print("Data Frame:")
print(data)
print(data$Name)
my_matrix<-matrix(1:6,nrow=2,ncol=3)
print("matrix:")
print(my_matrix)
print(my_matrix[1,2])
sum_vector<-sum(int_vector)
print(sum_vector)
matrix_transpose<-t(my_matrix)
print("Transpose of matrix:")
print(matrix_transpose)
print(data)
R-OPERATORS:
A<-matrix(c(1,2,5,7,2,4,6,8),nrow=4,ncol=2)
B<-matrix(c(9,10,11,12,13,14,15,16),nrow=2,ncol=4)
cat("matrix A:\n")
print(A)
result_matrix_multiply<-A%*%B
print(result_matrix_multiply)
df<-data.frame(
ID=c(1,2,3,4,5),
Age=c(25,30,22,35,28),
Salary=c(50000,60000,45000,70000,52000),
Department=c("HR","IT","Finance","IT","HR")
print(df)
filtered_data<-df[df$Age>=30&df$salary>=50000,]
print(filtered_data)
is_high_salary<-df$salary>55000
is_in_IT<-df$Department=="IT"
print(is_high_salary)
print(is_in_IT)
print(is_high_salary&is_in_IT)
cat("\n High salary OR in IT Department:\n")
print(is_high_salary|is_in_IT)
vector1<-c(5,10,15,20)
vector2<-c(2,4,6,8)
print(vector1+vector2)
print(vector1*vector2)
for (i in 1:15){
seq_val<-i*3
modulus_val<-seq_val%%4
x<-5
y<-10
z<-20
result<-(x<-x+2)*(y<-y-3)+(z<-z/2)
fruits<-c("apple","banana","cherry","data")
search_fruits<-c("banana","fig","data")
na_vector<-c(1,NA,3,4,NA)
print(is.na(na_vector))
matrix_result<-(A*2)> 10
print(matrix_result)
CONTROL-STATEMENT:
x<-10
if(x>5){
}else{
y<-7
if(y>10){
}else if(y==7){
for(i in 1:5){
count<-1
while(count<=3){
count<-count+1
day<-3
result<-switch(day,
"sunday"="weekend",
"monday"="weekday",
"tuesday"="weekday",
"wednesday"="weekday",
"thursday"="weekday",
"friday"="weekday",
"saturday"="weekend",
"Invalid day")
OUTPUT:
Numeric variable: 42
Character variable: Hello
Logical variable: TRUE
Vector variable: 1 2 3 4 5
Addition : 15
Greater than comparison: TRUE
Logical AND(x>5 AND y>5): FALSE
x is greater than y
value: 1
value: 2
value: 3
value: 4
value: 5
Iteration: 1
Iteration: 2
3.To Create a two-dimensional 5x3 array of sequence of even integers
greater than 50
A.PROGRAM
a<-array(seq(from=50,length.out=15,by=2),c(5,3))
print("content of the array")
print("5*3 array of sequence of even integer greater than 50:")
print(a)
OUTPUT:
[1] "content of the array"
[1] "5*3 array of sequence of even integer 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
B.PROGRAM:
x<-array(seq(from=100,length.out=16,by=13),c(4,4))
print("Content of the array")
print("4*4 array of sequence of even integer greater than 100:")
print(x)
OUTPUT:
data<-read.csv("D:/sample R/record.csv")
print(data)
print(is.data.frame(data))
print(ncol(data))
print(nrow(data))
max_sal<-max(data$SALARY)
print(max_sal)
details<-subset(data,DEPARTMENT=="IT")
print(details)
details<-subset(data,DEPARTMENT=="HR"&SALARY>600)
print(details)
details1<-subset(data,as.Date(START_DATE)>as.Date("02/06/2024"))
print(details1)
details<-subset(data,as.Date(START_DATE)>as.Date("25/06/2023"))
write.csv(details,"output.csv")
new_details<-read.csv("output.csv")
print(new_details)
plot(x=data$YEAR.OF.EXPERIENCE,
y=data$SALARY,
xlim=c(0,20),
xlab="NAME",
ylab="SALARY",
col="red",
main="Sactter plot")
data set:
START_DAT YEAR OF
ID NAME SALARY E DEPARTMENT EXPERIENCE
1 AARAV 80000 25-11-2023 IT 5
2 ANANYA 45000 10/5/2023 OPERATOR 3
3 ISHAAN 650000 7/8/2024 HR 10
4 PRIYA 56000 1/9/2024 MANAGER 6
5 RAHUL 90000 11/11/2024 DOCTOR 5
6 SAANVI 50000 5/8/2023 SI 4
7 ARJUN 85000 12/12/2023 PROGRAMMER 5
ASST.PROFESSO
8 DIYA 45000 4/7/2024 R 4
9 VISHAL 100000 17-08-2024 DIRECTOR 9
10 ADITI 520000 15-04-2023 DEAN 12
11 RAVI 120000 2/6/2024 IT 13
12 NEHA 45000 3/9/2023 OPERATOR 3
13 KARAN 650000 14-11-2023 HR 10
14 SIMRAN 56000 8/2/2023 MANAGER 6
15 RITIKA 90000 6/8/2024 DOCTOR 5
16 SIVANI 50000 8/12/2023 SI 4
17 ARUN 85000 21-06-2024 PROGRAMMER 6
ASST.PROFESSO
18 SIVARAJ 4500 25-11-2023 R 1
19 RAJU 100000 10/8/2023 DIRECTOR 10
20 ARJUN 5200000 7/8/2024 DEAN 12
OUTPUT:
ID NAME SALARY START_DATE DEPARTMENT YEAR.OF.EXPERIENCE
1 1 AARAV 80000 25-11-2023 IT 5
2 2 ANANYA 45000 10/5/2023 OPERATOR 3
3 3 ISHAAN 650000 7/8/2024 HR 10
4 4 PRIYA 56000 1/9/2024 MANAGER 6
5 5 RAHUL 90000 11/11/2024 DOCTOR 5
6 6 SAANVI 50000 5/8/2023 SI 4
7 7 ARJUN 85000 12/12/2023 PROGRAMMER 5
8 8 DIYA 45000 4/7/2024 ASST.PROFESSOR 4
9 9 VISHAL 100000 17-08-2024 DIRECTOR 9
10 10 ADITI 520000 15-04-2023 DEAN 12
11 11 RAVI 120000 2/6/2024 IT 13
12 12 NEHA 45000 3/9/2023 OPERATOR 3
13 13 KARAN 650000 14-11-2023 HR 10
14 14 SIMRAN 56000 8/2/2023 MANAGER 6
15 15 RITIKA 90000 6/8/2024 DOCTOR 5
16 16 SIVANI 50000 8/12/2023 SI 4
17 17 ARUN 85000 21-06-2024 PROGRAMMER 6
18 18 SIVARAJ 4500 25-11-2023 ASST.PROFESSOR 1
19 19 RAJU 100000 10/8/2023 DIRECTOR 10
20 20 ARJUN 5200000 7/8/2024 DEAN 12
[1] TRUE
[1] 6
[1] 20
[1] 5200000
ID NAME SALARY START_DATE DEPARTMENT YEAR.OF.EXPERIENCE
1 1 AARAV 80000 25-11-2023 IT 5
11 11 RAVI 120000 2/6/2024 IT 13
ID NAME SALARY START_DATE DEPARTMENT YEAR.OF.EXPERIENCE
3 3 ISHAAN 650000 7/8/2024 HR 10
13 13 KARAN 650000 14-11-2023 HR 10
ID NAME SALARY START_DATE DEPARTMENT YEAR.OF.EXPERIENCE
1 1 AARAV 80000 25-11-2023 IT 5
9 9 VISHAL 100000 17-08-2024 DIRECTOR 9
10 10 ADITI 520000 15-04-2023 DEAN 12
13 13 KARAN 650000 14-11-2023 HR 10
17 17 ARUN 85000 21-06-2024 PROGRAMMER 6
18 18 SIVARAJ 4500 25-11-2023 ASST.PROFESSOR 1
X ID NAME SALARY START_DATE DEPARTMENT YEAR.OF.EXPERIENCE
1 1 AARAV 80000 25-11-2023 IT 5
2 18 SIVARAJ 4500 25-11-2023 ASST.PROFESSOR 1
4 1 ) B) PROGRAM:
PROGRAM:
data<-read.csv("D:/sample R/students_data.csv")
print(data)
file_path<-"D:/sample R/students_data.csv"
students_data<-read.csv("D:/sample R/students_data.csv")
head(students_data)
str(students_data)
summary(students_data)
OUTPUT:
NAME AGE SCORE
1 Alice 23 88
2 Bob 22 95
3 Charlie 21 78
4 David 24 85
5 Eve 22 92
NAME AGE SCORE
1 Alice 23 88
2 Bob 22 95
3 Charlie 21 78
4 David 24 85
5 Eve 22 92
A.PROGRAM:
df1<-data.frame(
Name=c("priya","mano","Ram"),
Age=c(35,26,30)
)
df2<-data.frame(
Gender=c("Female","male","male"),
occupation=c("programmer","doctor","engineer")
)
df_combined_columns<-cbind(df1,df2)
print("Data frame after column-wise binding:")
print(df_combined_columns)
df3<-data.frame(
Name=c("Raja","kavitha"),
Age=c(40,45)
)
df4<-data.frame(
Gender=c("male","female"),
occupation=c("Lawyer","Scientist")
)
df_combined_rows<-rbind(df_combined_columns,cbind(df3,df4))
print("Data frame after row-wise binding:")
print(df_combined_rows)
OUTPUT:
A.PROGRAM:
recur_fact<-function(num){
if(num<=1){
return(1)
}else{
return(num*recur_fact(num-1))
findfactorial<-function(n){
factorial<-1
if((n==0)|(n==1))
factorial<-1
else{
for(i in 1:n)
factorial<-factorial*i
return(factorial)
print(paste(findfactorial(0)))
print(paste(findfactorial(3)))
num = as.integer(readline(prompt="Enter a number:"))
factorial = 1
} else if (num == 0) {
} else {
for (i in 1:num) {
factorial = factorial * i
}
OUTPUT:
factorial<-function(n){
if(n==0){
return(1)
}else{
return(n*factorial(n-1))
number<-7
result<-factorial(number)
print(paste("Factorial of",number,"is",result))
output:
A.PROGRAM:
x<-c(1,2,3,4,5,1,2,3,1,2,4,5,2,3,1,1,2,3,5,6)
mean.result=mean(x)
print(mean.result)
median.result=median(x)
print(median.result)
variance.result=var(x)
print(variance.result)
sd.result=sqrt(var(x))
print(sd.result)
output:
[1] 2.8
[1] 2.5
[1] 2.484211
[1] 1.576138
B.PROGRAM:
output:
A.PROGRAM:
data("iris")
head(iris)
x=iris[,3:4]
head(x)
model=kmeans(x,3)
library(cluster)
clusplot(x,model$cluster)
clusplot(x,model$cluster,color=T,shade=T)
OUTPUT:
Petal.Length Petal.Width
1 1.4 0.2
2 1.4 0.2
3 1.3 0.2
4 1.5 0.2
5 1.4 0.2
6 1.7 0.4
4 b. JSON FILE
JSON CODE:
{
"ID":["1","2","3","4","5"],
"NAME":["sivaranjani","snegha","kavya","lakshmi","soniya"],
"SALARY":["722.5","815.2","1611","2829","843.25"],
"STARTDATE":["6/17/2014","1/1/2012","11/15/2024","9/23/2022","10/12/2023"],
"DEPT":["IT","IT","HR","OPERATION","FINANCE"]
}
A.PROGRAM:
Library(“rjson”)
Result<-fromJSON(file=”D:/sample R/j2.json”)
Print(result)
OUTPUT:
ID
[1] “1","2","3","4","5”
NAME
[1] "sivaranjani","snegha","kavya","lakshmi","soniya"
SALARY
[1] "722.5","815.2","1611","2829","843.25"
STARTDATE
[1] "6/17/2014","1/1/2012","11/15/2024","9/23/2022","10/12/2023"
DEPT
[1] "IT","IT","HR","OPERATION","FINANCE"
B.PROGRAM
JSON CODE:
{
"ID":["1","2","3","4","5"],
"NAME":["sivaranjani","snegha","kavya","lakshmi","soniya"],
"SALARY":["722.5","815.2","1611","2829","843.25"],
"STARTDATE":["6/17/2014","1/1/2012","11/15/2024","9/23/2022","10/12/2023"],
"DEPT":["IT","IT","HR","OPERATION","FINANCE"]
}
CODE:
library(rjson)
json_data <- fromJSON(file="D:/sample R/j2.json")
print(json_data)
if ("name" %in% names(json_data)) {
print(paste("Name: ", json_data$name))
} else {
print("Name not found in the JSON data.")
}
if ("address" %in% names(json_data)) {
address <- json_data$address
print(paste("City: ", address$city))
print(paste("Zip Code: ", address$zip_code))
} else {
print("Address not found in the JSON data.")
}
if ("items" %in% names(json_data)) {
items <- json_data$items
for (item in items) {
print(paste("Item Name: ", item$name))
print(paste("Item Price: ", item$price))
}
} else {
print("Items array not found in the JSON data.")
}
OUTPUT:
$ID
[1] "1" "2" "3" "4" "5"
$NAME
[1] "sivaranjani" "snegha" "kavya" "lakshmi" "soniya"
$SALARY
[1] "722.5" "815.2" "1611" "2829" "843.25"
$STARTDATE
[1] "6/17/2014" "1/1/2012" "11/15/2024" "9/23/2022" "10/12/2023"
$DEPT
[1] "IT" "IT" "HR" "OPERATION" "FINANCE"
A.PROGRAM:
library(arules)
library(arulesViz)
library(RColorBrewer)
data("Groceries")
inspect(rules[1:10])
arules::itemFrequencyPlot(Groceries, topN = 5,
type = "relative",
library(arules)
library(arulesViz)
library(RColorBrewer)
inspect(rules[1:10])
itemFrequencyPlot(stud_details_trans, topN = 5,
type = "relative",
Stud_details:
set.seed(123)
data<-data.frame(x=rnorm(100,mean=0,sd=1),
y=rnorm(100,mean=0,sd=1))
data$x[1:5]<-rnorm(20,mean=5,sd=1)
data$y[1:5]<-rnorm(20,mean=5,sd=1)
set.seed(123)
kmeans<-kmeans(data,centers=3)
print(kmeans$cluster)
ggplot(data,aes(x=x,y=y,color=factor(kmeans$cluster)))+geom_point()+theme_classic()
OUTPUT:
[1] 1 1 1 1 1 3 2 2 2 3 2 3 2 2 3 3 3 2 2 2 2 2 2 2 3 2 3 3 2 3 3 3 3 2 2 3 2 3 3 2 3 2 2 2 2 2 2
[48] 3 3 2 3 3 3 2 2 3 3 2 3 2 3 2 2 3 2 3 3 2 3 3 2 2 3 3 2 2 2 2 3 2 2 3 2 2 2 2 3 3 3 2 3 2 3 2
[95] 2 3 3 2 2 2
10.Pie Charts and Bar Charts Using R
A.PROGRAM
A.PROGRAM:
library(rpart)
library(rpart.plot)
library(caret)
data(iris)
set.seed(123)
train_index<-createDataPartition(iris$Species,p=0.8,list=FALSE)
train_data<-iris[train_index,]
test_data<-iris[-train_index,]
tree_model<-rpart(Species ~ .,
data=train_data,
method="class",
control=rpart.control(minsplit=10,cp=0.01))
rpart.plot(tree_model,box.palette="auto",nn=TRUE)
predictions<-predict(tree_model,test_data,type="class")
confusionMatrix(predictions,test_data$Species)
OUTPUT:
Confusion Matrix and Statistics
Reference
Prediction setosa versicolor virginica
setosa 10 0 0
versicolor 0 10 1
virginica 0 0 9
Overall Statistics
Accuracy : 0.9667
95% CI : (0.8278, 0.9992)
No Information Rate : 0.3333
P-Value [Acc > NIR] : 2.963e-13
Kappa : 0.95
Statistics by Class:
library(rpart)
library(rpart.plot)
library(caret)
data(mtcars)
set.seed(123)
rpart.plot(tree_model)
confusionMatrix(predictions, test_data$mpg_category)
OUTPUT: