addressing values in data frame

# Assume df is your data frame

# 1. Access a specific column by name
column_values <- df$column_name

# 2. Access a specific row by index
row_values <- df[row_index, ]

# 3. Access a specific element by row and column indices
element_value <- df[row_index, column_index]

# 4. Access a subset of rows based on a condition
subset_rows <- df[df$column_name == desired_value, ]

# 5. Access a subset of columns based on a condition
subset_columns <- df[, df$column_name %in% c(value1, value2)]

# 6. Access a subset of rows and columns based on conditions
subset_data <- df[df$column1 == value1 & df$column2 > value2, c("column1", "column2")]

# 7. Update values in a specific column based on a condition
df$column_name[df$column_name > threshold] <- new_value

# 8. Add a new column with calculated values
df$new_column <- df$existing_column * 2

# 9. Replace NA values in a column with a default value
df$column_name[is.na(df$column_name)] <- default_value

# 10. Remove a specific column
df <- df[, !colnames(df) %in% c("column_name")]

# 11. Remove a specific row
df <- df[-row_index, ]

# 12. Rename a column
colnames(df)[which(colnames(df) == "old_name")] <- "new_name"