Я хочу удалить конкретное значение, например «cap» в примере, из всех ячеек, содержащих это значение, и переместить следующее значение в этой строке в ту ячейку, где это значение «cap» впервые появилось. Это также изменяет значения в столбцах «OrderNumber» соответственно.
Это поможет при создании примера:
custID <- data.frame(c(1,2,3,4,5))
OrderNumber_1 <- data.frame(c(1,1,1,1,1))
OrderNumber_2 <- data.frame(c(2, NA , 2,2,2))
OrderNumber_3 <- data.frame(c(3, NA, 3, 3, NA))
OrderNumber_4 <- data.frame(c(4, NA, 4, 4, NA))
OrderNumber_5 <- data.frame(c(5, NA, 5, 5, NA))
OrderType_1 <- data.frame(c("ball", "pen", "ball", "shuttle", "pen"))
OrderType_2 <- data.frame(c("pen", NA, "cap", "cap", "pen"))
OrderType_3 <- data.frame(c("cap", NA, "cap", "cap", NA))
OrderType_4 <- data.frame(c("shuttle", NA, "ball", "cap", NA))
OrderType_5 <- data.frame(c("pen", NA, "cap", "ball", NA))
report <- cbind(custID, OrderNumber_1, OrderNumber_2, OrderNumber_3, OrderNumber_4, OrderNumber_5, OrderType_1, OrderType_2, OrderType_3, OrderType_4, OrderType_5 )
report <-as.data.frame(report)
ожидаемый результат может быть получен с помощью следующего кода:
custID <- data.frame(c(1,2,3,4,5))
OrderNumber_1 <- data.frame(c(1,1,1,1,1))
OrderNumber_2 <- data.frame(c(2, NA , 2,2,2))
OrderNumber_3 <- data.frame(c(3, NA, NA, NA, NA))
OrderNumber_4 <- data.frame(c(4, NA, NA, NA, NA))
OrderNumber_5 <- data.frame(c(NA, NA, NA, NA, NA))
OrderType_1 <- data.frame(c("ball", "pen", "ball", "shuttle", "pen"))
OrderType_2 <- data.frame(c("pen", NA, "ball", "ball", "pen"))
OrderType_3 <- data.frame(c("shuttle", NA, NA, NA, NA))
OrderType_4 <- data.frame(c("pen", NA, NA, NA, NA))
OrderType_5 <- data.frame(c(NA, NA, NA, NA, NA))
report_output <- cbind(custID, OrderNumber_1, OrderNumber_2, OrderNumber_3, OrderNumber_4, OrderNumber_5, OrderType_1, OrderType_2, OrderType_3, OrderType_4, OrderType_5 )
report_output <-as.data.frame(report_output)
Как вы можете видеть сдвиг значений после удаления «cap» в обоих столбцах - Order_Number & Order_Type