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

Enter 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
this is

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

Popular posts from this blog

Statistical Methods Lab ( R Language) PCCBL308 Semester 3 KTU BTech CB and CU 2024 Scheme - Dr Binu V P

Programs in R - using control statements - Assignment 2

Basic R Programs to Try - Assignment 1