是否可以根据其他两列中的条件“填充” 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中可能吗?