Заменить строки во фрейме данных на основе критериев
У меня есть следующий кадр данных
id f1 f2
1 a 1 3
2 b 3 5
3 c 4 7
Я хотел бы заменить все строки, которые имеют f1 & gt; 3, на строку (id = x, f1 = 0, f2 = 0) Таким образом, вышеприведенный
id f1 f2
1 a 1 3
2 b 3 5
3 x 0 0
Но когда я пытался
replace(x,which(x$f1>3),data.frame(id = 'x',f1=0,f2=0))
Он не сделал это правильно, он дал
id f1 f2
1 a 1 x
2 b 3 x
3 c 4 x
Warning message:
In `[<-.data.frame`(`*tmp*`, list, value = list(id = 1L, f1 = 0, :
provided 3 variables to replace 1 variables
Может ли кто-нибудь предложить способ сделать это в масштабе? Благодарю.