хорошо, вот одна отправная точка - другие наверняка дадут вам более сложные ответы.
Первый , избавление от значений NA:
Df1 <- na.omit(Df1)
это сделает работу для всех столбцов в data.frame
объекте
Второй , заменяющий начальный и конечный столбцы. попробуйте функцию ifelse()
, которая векторизована:
Df1 <- within(Df1,
{
start_pc <- ifelse(start_pc == 'Home', home_pc, start_pc)
end_pc <- ifelse(end_pc == 'Home', home_pc, end_pc)
})
надеюсь, я правильно понял ваш вопрос! Некоторые дополнительные комментарии: если вы хотите доказать, является ли что-то NA (например, в функции ifelse()
), используйте is.na()
, наоборот - !is.na()
Вы также можете создать подмножества фрейма данных следующим образом: subset(Df1, !is.na(home_pc))
должно работать, например. Конечно, проверьте файл справки для всех этих функций, если вам нужны дополнительные подсказки: ?ifelse
или ?subset
и т. Д.