我有一个包含3列的数据库: ID / SCORE / ACTION 。我需要确定与NA不同的第一个分数,并将其值(以及动作)分配给NA 之前的。在这种情况下,观察#1和#2具有与观察#3相同的分数和动作。同样,观察#4,#5和#6应该采用观察#7的值。
ID SCORE ACTION
1 NA NA
2 NA NA
3 BB + T
4 NA NA
5 NA NA
6 NA NA
7 AAA S
8 NA NA
有什么想法吗?感谢
答案 0 :(得分:3)
您可以从“zoo”包中查看na.locf
。在这种情况下,您可能希望使用fromLast
参数:
library(zoo)
na.locf(mydf, fromLast=TRUE)
# ID SCORE ACTION
# 1 1 BB+ T
# 2 2 BB+ T
# 3 3 BB+ T
# 4 4 AAA S
# 5 5 AAA S
# 6 6 AAA S
# 7 7 AAA S
# 8 8 <NA> <NA>