The previous answers are cleaner, and I would use ifelse
but if you wanted to use your original approach, the corrected code would be:
set.seed(05062020)
database <- data.frame(ID = paste0("K", 1:5),
leaderlikeLP = sample(1:10, 5))
# OP code
# database$leaderlikeLP[database$leaderlikeLP <= 4] + 1
# Corrected code
database[database$leaderlikeLP <= 4, "leaderlikeLP"] <- database[database$leaderlikeLP <= 4, "leaderlikeLP"] + 1
### Original
# ID leaderlikeLP
# 1 K1 2
# 2 K2 10
# 3 K3 6
# 4 K4 8
# 5 K5 3
### New
# ID leaderlikeLP
# 1 K1 3
# 2 K2 10
# 3 K3 6
# 4 K4 8
# 5 K5 4
If you wanted to limit it to the first n
rows (i.e., 10), simply:
set.seed(05062020)
database <- data.frame(ID = paste0("K", 1:15),
leaderlikeLP = sample(1:10, 15, replace = TRUE))
n <- 10
database[database$leaderlikeLP <= 4, "leaderlikeLP"][1:n] <- database[database$leaderlikeLP <= 4, "leaderlikeLP"][1:n] + 1