我需要替换我的数据框中的一些数据,它看起来像这样:
V1 V2 V3 V4
1 * * 4 5
2 * * 4 *
3 4 * 2 2
4 * * 1 *
如果该单元格中有 "*",则将其替换为上一行相同单元格的值,仅在没有上一行时插入 0。
预期结果:
V1 V2 V3 V4
1 0 0 4 5
2 0 0 4 5
3 4 0 2 2
4 4 0 1 2
我该怎么做?
编辑:这不是如何在R数据框中用0替换NA值?的重复,因为我不想用NA替换每个"*"的出现,而是想用上面单元格的值替换它(并且仅在第一行中我想用零替换它)- 如果其他问题已经涵盖了这个问题,我看不到它,请给一个非常简单的r知识的人能够理解的例子,谢谢
zoo :: na.locf(replace(df1,df1 ==“*”,NA))
。最好保持为NA
,但如果需要的话,将其更改为0
更容易。 - akrundf1 %>% mutate_all(funs(replace(., .=="*", NA))) %>% fill(names(.)) %>% mutate_all(funs(replace(., is.na(.), 0)))
- akrun