Sample Programs Using Vectors in R
Sample Programs Using Vectors in R
These programs are intended to familiarize students with vector creation, indexing, vectorized operations, and common built-in functions.
Program 1: Find Sum, Average, Maximum and Minimum of Elements in a Vector
Aim
Write an R program to find the sum, average, maximum and minimum values of a vector.
Program
marks <- c(85, 90, 75, 88, 92)
cat("Marks =", marks, "\n")
cat("Sum =", sum(marks), "\n")
cat("Average =", mean(marks), "\n")
cat("Maximum =", max(marks), "\n")
cat("Minimum =", min(marks), "\n")
Output
Marks = 85 90 75 88 92
Sum = 430
Average = 86
Maximum = 92
Minimum = 75
Program 2: Find Even and Odd Numbers from a Vector
Aim
Write an R program to separate even and odd numbers from a vector.
Program
numbers <- c(10, 15, 20, 25, 30, 35)
even <- numbers[numbers %% 2 == 0]
odd <- numbers[numbers %% 2 != 0]
cat("Even Numbers =", even, "\n")
cat("Odd Numbers =", odd)
Output
Even Numbers = 10 20 30
Odd Numbers = 15 25 35
Program 3: Count Positive, Negative and Zero Elements
Aim
Write an R program to count positive, negative and zero values in a vector.
Program
x <- c(10, -5, 0, 20, -8, 15, 0)
positive <- length(x[x > 0])
negative <- length(x[x < 0])
zero <- length(x[x == 0])
cat("Positive Numbers =", positive, "\n")
cat("Negative Numbers =", negative, "\n")
cat("Zeros =", zero)
Output
Positive Numbers = 3
Negative Numbers = 2
Zeros = 2
Program 4: Sort a Vector in Ascending and Descending Order
Aim
Write an R program to sort the elements of a vector.
Program
x <- c(40, 10, 60, 20, 50)
ascending <- sort(x)
descending <- sort(x, decreasing=TRUE)
cat("Ascending Order =", ascending, "\n")
cat("Descending Order =", descending)
Output
Ascending Order = 10 20 40 50 60
Descending Order = 60 50 40 20 10
Program 5: Find Passed and Failed Students
Aim
Write an R program to display marks of passed students (marks ≥ 50) and failed students (marks < 50).
Program
marks <- c(85, 45, 92, 38, 76, 49, 60)
passed <- marks[marks >= 50]
failed <- marks[marks < 50]
cat("Passed Students Marks =", passed, "\n")
cat("Failed Students Marks =", failed)
Output
Passed Students Marks = 85 92 76 60
Failed Students Marks = 45 38 49
Program to Read and Store Values in a Vector in R
There are several ways to read values and store them in a vector.
Method 1: Using scan() (Recommended)
Program
n <- as.integer(readline("Enter the number of elements: "))
cat("Enter", n, "elements:\n")
x <- scan(n = n)
print(x)
Sample Output
Enter the number of elements: 5
Enter 5 elements:
10
20
30
40
50
[1] 10 20 30 40 50
Method 2: Using a for Loop and readline()
Program
n <- as.integer(readline("Enter the number of elements: "))
x <- numeric(n)
for(i in 1:n)
{
x[i] <- as.numeric(readline(
paste("Enter element", i, ": ")))
}
print(x)
Sample Output
Enter the number of elements: 5
Enter element 1: 10
Enter element 2: 20
Enter element 3: 30
Enter element 4: 40
Enter element 5: 50
[1] 10 20 30 40 50
Method 3: Reading Character Strings
n <- as.integer(readline("Enter number of names: "))
names <- character(n)
for(i in 1:n)
{
names[i] <- readline(
paste("Enter name", i, ": "))
}
print(names)
Output
Enter number of names: 3
Enter name 1: John
Enter name 2: Mary
Enter name 3: Alex
[1] "John" "Mary" "Alex"
Method 4: Reading All Elements in One Line
Program
cat("Enter elements separated by spaces:\n")
x <- scan()
print(x)
Sample Output
Enter elements separated by spaces:
10 20 30 40 50
Read 5 items
[1] 10 20 30 40 50
Method 5: Reading Elements from a File
Suppose marks.txt contains
10
20
30
40
50
Program:
x <- scan("marks.txt")
print(x)
Output:
[1] 10 20 30 40 50
Example: Find Sum and Average
n <- as.integer(readline("Enter number of elements: "))
x <- numeric(n)
for(i in 1:n)
{
x[i] <- as.numeric(
readline(paste("Enter element", i, ": ")))
}
print(x)
cat("Sum =", sum(x), "\n")
cat("Average =", mean(x))
Sample Output
this isEnter number of elements: 5
Enter element 1: 10
Enter element 2: 20
Enter element 3: 30
Enter element 4: 40
Enter element 5: 50
[1] 10 20 30 40 50
Sum = 150
Average = 30
Example: Finding largest using a user defined function
# User-defined function to find the largest element findLargest <- function(v) { largest <- v[1] for(i in 2:length(v)) { if(v[i] > largest) { largest <- v[i] } } return(largest) } # Read number of elements n <- as.integer(readline("Enter the number of elements: ")) # Read vector elements v <- numeric(n) cat("Enter", n, "elements:\n") for(i in 1:n) { v[i] <- as.numeric(readline()) } # Display vector cat("Vector:\n") print(v) # Function call result <- findLargest(v) cat("Largest Element =", result)
Sample Input
Enter the number of elements: 6 Enter 6 elements: 12 45 23 67 10 55
Sample Output
Vector: 12 45 23 67 10 55 Largest Element = 67
Example: Returning Multiple Values Using a named Vector
# User-defined function vectorAnalysis <- function(v) { total <- sum(v) average <- mean(v) maximum <- max(v) minimum <- min(v) evenCount <- sum(v %% 2 == 0) oddCount <- sum(v %% 2 != 0) # Return a named vector return(c( Sum = total, Average = average, Maximum = maximum, Minimum = minimum, Even = evenCount, Odd = oddCount )) } # Main Program n <- as.integer(readline("Enter number of elements: ")) v <- numeric(n) cat("Enter", n, "elements:\n") for(i in 1:n) { v[i] <- as.numeric(readline()) } result <- vectorAnalysis(v) cat("\nReturned Vector:\n") print(result) cat("\nIndividual Values\n") cat("Sum =", result["Sum"], "\n") cat("Average =", result["Average"], "\n") cat("Maximum =", result["Maximum"], "\n") cat("Minimum =", result["Minimum"], "\n") cat("Even Count =", result["Even"], "\n") cat("Odd Count =", result["Odd"], "\n")
Comments
Post a Comment