Data analytics practical
1. To
get the input from user and perform numerical operations
(MAX, MIN, AVG, SUM, SQRT, ROUND) using in R.
2. To
perform data import/export (.CSV, XLS, .TXT) operations using
data frames in R.
3. To
get the input matrix from user and perform Matrix addition,
subtraction, multiplication, inverse transpose and division
operations using vector concept in R.
4. To
perform statistical operations (Mean, Median, Mode and
Standard deviation) using R.
5. To
perform data pre-processing operations i) Handling Missing
data ii) Min-Max normalization
6. To
perform dimensionality reduction operation using PCA for
Houses Data Set
7. To perform Simple Linear Regression with R.
8. To
perform K-Means clustering operation and visualize for iris
data set
9. Write
R script to diagnose any disease using KNN classification
and plot the results.
Solutions:-
1. Numerical Operations in R
# Get user input
num_vector <- [Link](unlist(strsplit(readline(prompt="Enter
numbers separated by spaces: "), " ")))
# Perform operations
max_value <- max(num_vector)
min_value <- min(num_vector)
avg_value <- mean(num_vector)
sum_value <- sum(num_vector)
sqrt_values <- sqrt(num_vector)
rounded_values <- round(num_vector)
# Display results
cat("Max:", max_value, "\n")
cat("Min:", min_value, "\n")
cat("Average:", avg_value, "\n")
cat("Sum:", sum_value, "\n")
cat("Square Roots:", sqrt_values, "\n")
cat("Rounded Values:", rounded_values, "\n")
2. Data Import/Export Operations
# Importing data
data_csv <- [Link]("[Link]")
data_xls <- readxl::read_excel("[Link]")
data_txt <- [Link]("[Link]", header=TRUE)
# Exporting data
[Link](data_csv, "[Link]")
[Link](data_csv, "[Link]", sep="\t", [Link]=FALSE)
3. Matrix Operations
# Get matrix input from user
matrix_input <- [Link](unlist(strsplit(readline(prompt="Enter
matrix elements (row-wise) separated by spaces: "), " ")))
n <- [Link](readline(prompt="Enter number of rows: "))
matrix_a <- matrix(matrix_input, nrow=n, byrow=TRUE)
# Matrix operations
matrix_b <-
matrix([Link](unlist(strsplit(readline(prompt="Enter second
matrix elements (row-wise) separated by spaces: "), " "))),
nrow=n, byrow=TRUE)
# Addition
matrix_sum <- matrix_a + matrix_b
# Subtraction
matrix_diff <- matrix_a - matrix_b
# Multiplication
matrix_product <- matrix_a %*% matrix_b
# Inverse
matrix_inverse <- solve(matrix_a)
# Transpose
matrix_transpose <- t(matrix_a)
# Display results
cat("Sum:\n", matrix_sum, "\n")
cat("Difference:\n", matrix_diff, "\n")
cat("Product:\n", matrix_product, "\n")
cat("Inverse:\n", matrix_inverse, "\n")
cat("Transpose:\n", matrix_transpose, "\n")
4. Statistical Operations
# Get user input
data_vector <- [Link](unlist(strsplit(readline(prompt="Enter
numbers separated by spaces: "), " ")))
# Perform statistical operations
mean_value <- mean(data_vector)
median_value <- median(data_vector)
mode_value <- [Link](names(sort(table(data_vector),
decreasing=TRUE)[1])
std_dev <- sd(data_vector)
# Display results
cat("Mean:", mean_value, "\n")
cat("Median:", median_value, "\n")
cat("Mode:", mode_value, "\n")
cat("Standard Deviation:", std_dev, "\n")
5. Data Pre-processing
# Handling Missing Data
data <- [Link]("[Link]")
data[[Link](data)] <- mean(data, [Link]=TRUE) # Replace NA with
mean
# Min-Max Normalization
normalize <- function(x) {
return ((x - min(x)) / (max(x) - min(x)))
}
normalized_data <- [Link](lapply(data, normalize))
6. PCA for Dimensionality Reduction
# Load necessary library
library(ggplot2)
# Load dataset
houses_data <- [Link]("[Link]")
# Perform PCA
pca_result <- prcomp(houses_data[, -1], center=TRUE,
scale=TRUE)
summary(pca_result)
# Plot PCA
biplot(pca_result)
7. Simple Linear Regression
# Load dataset
data <- [Link]("[Link]")
# Fit linear model
model <- lm(y ~ x, data=data) # Replace y and x with actual
column names
# Summary of the model
summary(model)
# Plot
plot(data$x, data$y)
abline(model, col="red")
8. K-Means Clustering
# Load dataset
data(iris)
# Perform K-Means clustering
[Link](123)
kmeans_result <- kmeans(iris[, -5], centers=3)
# Plot results
library(ggplot2)
ggplot(iris, aes(x=[Link], y=[Link],
color=factor(kmeans_result$cluster))) +
geom_point() +
labs(title="
9. KNN Classification for Disease Diagnosis
# Load necessary libraries
library(class)
library(ggplot2)
# Load dataset
data <- [Link]("disease_data.csv") # Replace with your dataset
# Prepare data
train_data <- data[1:100, ] # Assuming first 100 rows for training
test_data <- data[101:150, ] # Assuming next 50 rows for testing
# Normalize data
normalize <- function(x) {
return ((x - min(x)) / (max(x) - min(x)))
}
train_data[, -ncol(train_data)] <- [Link](lapply(train_data[,
-ncol(train_data)], normalize))
test_data[, -ncol(test_data)] <- [Link](lapply(test_data[, -
ncol(test_data)], normalize))
# KNN classification
predicted <- knn(train_data[, -ncol(train_data)], test_data[, -
ncol(test_data)], train_data[, ncol(train_data)], k=3)
# Plot results
results <- [Link](Actual=test_data[, ncol(test_data)],
Predicted=predicted)
ggplot(results, aes(x=Actual, fill=Predicted)) +
geom_bar(position="dodge") +
labs(title="KNN Classification Results")