0

是否可以根据其他两列中的条件“填充” NA 值?

在这里可以找到类似的答案: Replace missing values (NA) with most recent non-NA by group

这个问题是不同的,因为我需要根据另一列的值和所述列中的值以上的值进行填充。说明如下。

我有一个数据框,我需要一些东西来查看上面的值和旁边的值以及上面的值来评估。这个过程应该是这样的:x = 不为空的值。

如果 x 以上的值为 null 并且

x 旁边的值与 x 的值上方的值相同 then

填上。

这是一些示例代码mtcars

mtcars1 <- as_tibble(mtcars)

mtcars1 <- mtcars1 %>%
  select(cyl, mpg, disp, hp) %>%
  group_by(cyl) %>%
  arrange(cyl, disp)


ex <- rep("NA", length(mtcars1$cyl))

mtcars1$ex=ex 

mtcars1$ex <- if_else(mtcars$cyl = 4 & mtcars$disp > 100, ex==31.4, ex)

mtcars1$ex <- sapply(mtcars1, function(x) ifelse((mtcars1$cyl <= 4 && 
mtcars$disp > 100), 23.5, "NA"))

见下图。我想23.5填满,直到“cyl”列中的值发生变化。所以,

如果上面的值为 NULL()

和 cyl 值 = 上面的 cyl 值,

填上。

在此处输入图像描述

这在R中可能吗?

4

0 回答 0