【发布时间】:2014-12-22 19:34:41
【问题描述】:
我确实尝试了很多来解决以下问题,并且我已经阅读了很多关于它的内容。但是,我仍然无法管理它
看这个例子:
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。如果前一行的值为 0,则应将“a”放入该行,如果为 3,则应放入“b”,其余为“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
感谢您的帮助!
【问题讨论】:
标签: r loops if-statement dataframe