Изменение значения фрейма данных на основе другого фрейма данных
Опять же, мне нужна ваша помощь для, возможно, простого вопроса, который не ясен для начинающего пользователя R.
Мне нужно манипулировать кадром данных, чтобы заменить NA
Значения от "реалистичных", чтобы кормить другое приложение.
Фрейм данных содержит значения -3.0, которые были признаком недопустимых значений в исходной базе данных. Что мне нужно, это заменить все значения -3.0 на данные, поступающие из другого фрейма данных, или, возможно, для интерполяции.
Первый кадр данных будет
1.0 2.0 3.0 4.0
2.0 3.0 -3.0 -3.0
1.0 4.0 -3.0 6.0
1.0 5.0 4.0 5.0
второй будет
1.0 1.0 1.0 1.0
2.0 2.0 9.0 9.0
2.0 2.0 9.0 2.0
1.0 1.0 1.0 1.0
и ожидаемый результат
1.0 2.0 3.0 4.0
2.0 3.0 9.0 9.0
1.0 4.0 9.0 6.0
1.0 5.0 4.0 5.0
Я полагаю, что это можно сделать с помощью цикла for, но я не нашел способ сделать это.
заранее спасибо
1 ответ
На самом деле это довольно просто сделать без цикла for: если ваши фреймы данных A
а также B
тогда команда будет
A[A == -3] = B[A == -3]
Другими словами: для всех показателей A
которые имеют значение -3, присваивают значения B
по соответствующим показателям.