【发布时间】:2018-08-14 00:58:57
【问题描述】:
我有类似的数据。
v1 <- c("Fail", 20, 30, "Out", NA, 32, 33, 10)
v2 <- c(10, NA, NA, "Out", "Fail", 34, 35, 30)
df <- data.frame(v1,v2)
我也需要转换这个数据框。这样'words'或者NA就是前面的信息,或者前面的信息没有,我需要后面再去取信息。
我如何在R 中使用现代编程实际做到这一点?根据this link,我正在做这样的事情。
df <- df %>% mutate(v11 = ifelse(v1 %in% "Fail", lag(),
ifelse(v1 %in% "Out", lag()),
ifelse(is.na(v1) %in% lag(), v1)))
【问题讨论】:
-
为什么
v1[5]是NA变成 32 而不是 30? -
对不起,我编辑了。
-
@MikeH。似乎是,但不是100%相同。即使在这里也有好的和新的答案。甚至有话在
df.
标签: r dataframe dplyr tidyverse