Untitled

 avatar
unknown
r
a year ago
5.7 kB
8
Indexable
# Define a numeric vector 'x'
x = c(2, 3, 2, 5, 8)

# Create a list called 'structure' to store information about 'x'
structure = list(
    mean = mean(x),
    minimum = min(x),
    length = length(x)
)

# Display the 'structure' list
print(structure)

# Access and print the 'mean' value from the 'structure' using $
print(structure$mean)

# Access and print the third element from the 'structure' using [[ ]]
print(structure[[3]])

# Create a named vector 's1'
s1 = c(name = "Jan", age = 25, student = TRUE)

# Display the attributes of 's1'
attributes(s1)

# Access and print the 'name' element from 's1'
s1["name"]

# Create a 2x4 array 't1' filled with zeros
(t1 = array(0, c(2, 4)))

# Create a 2x3 array 't2' with values from 1 to 6
(t2 = array(1:6, c(2, 3)))

# Display the dimensions of 't2'
dim(t2)

# Access and print the element in the first row and third column of 't2'
t2[1, 3]

# Access and print the first row of 't2'
t2[1, ]

# Access and print the third column of 't2'
t2[, 3]

# Create a matrix with values from 1 to 6, specifying rows and columns
matrix(1:6, nrow = 2, ncol = 3)

# Combine columns using cbind
cbind(c(1, 2), c(3, 4), c(5, 6))

# Combine rows using rbind
rbind(c(1, 3, 5), c(2, 4, 6))

# Create a matrix 'A' with values from 1 to 6, filling by row
(A = matrix(1:6, 2, 3, byrow = TRUE))

# Get the number of rows in matrix 'A'
nrow(A)

# Get the number of columns in matrix 'A'
ncol(A)

# Create another matrix 'B'
(B = matrix(2:7, 3, 2))

# Multiply matrices 'A' and 'B'
A %*% B
B %*% A

# Calculate the scalar product of two vectors
c(1, 2, 3) %*% c(3, 4, 5)

# Create a 3x3 matrix 'D'
(D = matrix(c(1, 2, 2, 3, 5, 2, 3, 1, 4), 3, 3))

# Transpose matrix 'D'
t(D)

# Calculate the determinant of matrix 'D'
det(D)

# Find the inverse of matrix 'D'
solve(D)

# Create a 3x3 matrix 'C'
(C = matrix(1:9, 3, 3))

# Attempt to find the inverse of matrix 'C'
solve(C)

# Calculate the determinant of matrix 'C'
det(C)

# Solve the equation DX=C for X, if a unique solution exists
solve(D, C)

# Calculate the eigenvalues and eigenvectors of matrix 'D'
eigen(D)

# Get the values on the diagonal of matrix 'D'
diag(D)

# Create a data frame 'data' with columns 'name', 'animal', and 'age'
data = data.frame(c("Rex", "Kitty"), c("dog", "cat"), c(5, 4))

# Assign column names to 'data'
names(data) = c("name", "animal", "age")

# Display the 'data' frame
data

# Access and print the 'name' column from 'data'
data$name

# Display the attributes of 'data'
attributes(data)

# Access and print the first column of 'data'
data[1]

# Access and print the 'name' column using column index
data[, 1]

# Define two variables 'x' and 'y'
x = "4"
y = "5"

# Add 'x' and 'y' as character strings
x + y

# Convert 'x' and 'y' to numeric and then add them
as.numeric(x) + as.numeric(y)

# Create a character vector 'letters'
letters = c("a", "b", "c", "a", "c")

# Convert 'letters' into a factor 'l2'
(l2 = factor(letters))

# Convert 'l2' back to a character vector
as.vector(l2)

# Attempt to convert 'l2' to numeric (using levels as numbers)
as.numeric(l2)

# Create a diagonal matrix 'E' with diagonal elements 1, 2, and 3
(E = diag(c(1, 2, 3)))

# Convert 'E' into a vector
as.vector(E)

# Modify the values of 'E' manually
fix(E)

# Display the modified 'E' matrix
E

# Convert 'E' into a vector again
as.vector(E)

# Define a function 'sq' to calculate the square of a number plus 1
sq = function(x) x^2 + 1

# Calculate the square of 2 plus 1 using the 'sq' function
sq(2)

# Define a function 'f' to locally change a variable 'x'
f = function(x) {
    x = 2 * x + 5
    x
}

# Call the 'f' function with an argument of 2
f(2)

# Check the value of 'x' after calling the 'f' function
x

# Assign a value of 5 to the variable 'x'
x = 5

# Use conditional statements to check the value of 'x'
if (x < 5) {
    print("x < 5")
} else if (x == 5) {
    print("x = 5")
} else {
    print("x > 5")
}

# Define a function 'g' to print a message based on the value of 'x'
g = function(x) {
    if (x < 5) {
        cat(x, "<5\n")
    } else if (x == 5) {
        cat(x, "=5\n")
    } else {
        cat(x, ">5\n")
    }
}

# Call the 'g' function with different values of 'x'
g(3)
g(5)
g(7)

# Use a for loop to count down from 9 to 0
for (i in 9:0) {
    cat(i)
    cat("...\n")
}

# Use a for loop to calculate the sum of numbers from 1 to 8
z = 0
for (i in 8:1) {
    z = z + i
    cat(i, "+ ")
}
cat(0, "=", z, "\n")

# Initialize a variable 'i' and use a while
# Initialize a variable 'i' and use a while loop to increment it until it reaches 10
i = 1
while (i < 10) {
    i = i + 1
}

# Check the value of 'i' after the while loop
i

# Define a function 'odd' to calculate the highest power of 2 that divides 'x'
odd = function(x) {
    i = 0
    while (x %% 2 == 0) {
        i = i + 1
        x = x / 2
    }
    cat(x * 2^i, "=", x, "*", 2^i, "\n")
}

# Call the 'odd' function with an argument of 864
odd(864)

# Exercise 9: Solve the system of equations
# 5x + 2y - z = 4
# x - 3y - 2z = -1
# 3x + 2y + 3z = 5

# Exercise 10: Calculate the mean of petal width for each species and jointly from the 'iris' dataset
iris

# Exercise 11: Find the greatest natural number 'n' such that the sum of square roots of natural numbers 
# less than or equal to 'n' does not exceed 300

# Exercise 12: Create a vector 'X' with numbers from 1 to 100 in random order and create a vector 'Y' 
# where each element is 1 if the corresponding element in 'X' is greater than its position

# Exercise 13: Define a function that calculates the number of ones in a vector

# Note: The code for Exercises 9 to 13 is not provided in the original snippet.
Editor is loading...