Заменить значения в одном векторе на основе значений, превышающих x в отдельном векторе информационного кадра - PullRequest
0 голосов
/ 29 мая 2019

У меня есть фрейм данных, в котором значения выше определенного уровня в одном векторе должны быть изменены в следующем векторе.

Я пробовал функцию if, которая возвращает 'NA'.

if (mydata$duration >15) {
mydata$code==3
}

Вот некоторый код того, как должна выглядеть конечная функция с надписью 'recode'

duration<-c(1,14,5,17,9,10,14,16,2,8,3,18)
code<-c(1,2,1,2,1,2,1,2,1,2,1,2)
mydata<-data.frame(code,duration)
recode<-c(1,2,1,3,1,2,1,3,1,2,1,3)
mydata<-data.frame(recode,duration)

1 Ответ

1 голос
/ 30 мая 2019

Либо «ifelse», либо «with (replace)» работали хорошо.

mydata$code<-ifelse(mydata$duration>15,3,mydata$code)

mydata$code<-with(mydata,replace(code,duration>15,3))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...