Мне нужно заполнить некоторые пропущенные значения в R из столбца слева, но я хочу сделать это только для определенных строк.
Мои данные выглядят так:
structure(list(...2 = c(NA, NA, "2 - 3", "3 - 4", "4 - 5"), ...4 = c("Wgt",
"Port", NA, "2", "20"), ...5 = c("Wgt", "Bench", "3", "9", "20"
), ...6 = c("Wgt", "+/-", "Wgt", "-1", "-12"), ...7 = c("Pos",
"Port", "Wgt", "-10", NA), ...8 = c("Pos", "Bench", NA, NA, NA
), ...9 = c("Pos", "+/-", NA, NA, NA)), row.names = c(NA, -5L
), class = c("tbl_df", "tbl", "data.frame"))
Я хочу, чтобы первая строка выглядела так:
structure(list(...2 = c(NA, NA, "2 - 3", "3 - 4", "4 - 5"), ...4 = c("Wgt",
"Port", NA, "2", "20"), ...5 = c("NA", "Bench", "3", "9", "20"
), ...6 = c("NA", "+/-", "Wgt", "-1", "-12"), ...7 = c("Pos",
"Port", "Wgt", "-10", NA), ...8 = c("NA", "Bench", NA, NA, NA
), ...9 = c("NA", "+/-", NA, NA, NA)), row.names = c(NA, -5L), class = c("tbl_df",
"tbl", "data.frame"))
В этом примере я хочу заполнить только недостающие значения NA в строке 1. Другое пропущенное значение должно остаться.
Я попытался использовать приведенный ниже код зоопарка, но он заполнит NA для всего набора данных.
library(zoo)
new.data <-new.data %>%
mutate(...4 = as.character(...4)) %>%
pmap_dfr(., ~ na.locf(c(...)) %>%
as.list %>%
as_tibble)
I использую R 3.5.3
Есть ли способ сказать R, чтобы сделать это?
Спасибо