我真的尝试了很多来解决以下问题,并且我已阅读了很多内容。不过,我仍然不能管理它Dataframe:列,检查每行的previos行的值并输入值
见这个例子:
time <- sample(1:300, 20)
test <- c (0,0,0, NA, 0, 0, 3, 0, 0, NA, 0,0, 3, 0, 0, NA, 0, 0, 3, 0)
take <- rep(NA, 20)
df <-data.frame(time, test, take)
> head(df, 8)
time test take
1 271 0 NA
2 147 0 NA
3 277 0 NA
4 247 NA NA
5 82 0 NA
6 133 0 NA
7 231 3 NA
8 110 0 NA
现在我想在最后一个(带)列中输入值。该值取决于第二列(测试)中的条件。如果它是NA或3,它可以保持空白。好吧,到目前为止, 但我的问题是值0.它应该把一个“a”的行,如果前一行的值为0,但一个“b”,如果它是3,“c”的休息。
因此输出应该是这样的:
head(df, 8)
time test take
1 271 0 c
2 147 0 a
3 277 0 a
4 247 NA NA
5 82 0 c
6 133 0 a
7 231 3 NA
8 110 0 b
感谢您的帮助!
请你的答案 – Huangism 2014-10-27 15:46:30
@Huangism提供一些解释,我的评论我的回答,对不起,我没有在第一! – Cath 2014-10-28 07:20:14