У меня есть фрейм данных что-то вроде:
myData <- User X Y Similar
A 1 4 100
A 1 2 100
A 1 1 100
A 3 2 80
A 2 1 20
A 2 4 100
B 3 1 50
B 4 2 90
B 1 3 100
Что-то вроде этого:
myData <- User X Y Similar
A 1 4 0
A 1 2 0
A 1 1 0
A 3 2 80
A 2 1 20
A 2 4 100
B 3 1 50
B 4 2 90
B 1 3 0
Вопрос
Я хочу изменить значение в аналогичном столбце на 0 с условием. Условие, если переменная x = 1, а аналогичная переменная = 100. Как это сделать в r? Спасибо
Мы создаем логический вектор на основе «X» и «Похоже» и выполняем назначение «Похоже» с этим индексом, чтобы заменить эти значения на 0.
i1 <- with(myData, X ==1 & Similar == 100)
myData$Similar[i1] <- 0
-выход
myData
# User X Y Similar
#1 A 1 4 0
#2 A 1 2 0
#3 A 1 1 0
#4 A 3 2 80
#5 A 2 1 20
#6 A 2 4 100
#7 B 3 1 50
#8 B 4 2 90
#9 B 1 3 0
myData <- structure(list(User = c("A", "A", "A", "A", "A", "A", "B", "B",
"B"), X = c(1L, 1L, 1L, 3L, 2L, 2L, 3L, 4L, 1L), Y = c(4L, 2L,
1L, 2L, 1L, 4L, 1L, 2L, 3L), Similar = c(100L, 100L, 100L, 80L,
20L, 100L, 50L, 90L, 100L)), class = "data.frame", row.names = c(NA,
-9L))