根据R中的最后可用值进行外推

根据R中的最后可用值进行外推,r,R,我的数据是这样的 > data ID Price 1 1 1 2 2 3 3 3 NA 4 4 NA 5 5 7 6 6 6 7 7 NA 8 8 NA 9 9 NA 10 10 10 > data_final ID Price 1 1 1 2 2 3 3 3 3 4 4 3 5 5 7 6 6

我的数据是这样的

> data
   ID Price
1   1     1
2   2     3
3   3    NA
4   4    NA
5   5     7
6   6     6
7   7    NA
8   8    NA
9   9    NA
10 10    10
> data_final
   ID Price
1   1     1
2   2     3
3   3     3
4   4     3
5   5     7
6   6     6
7   7     6
8   8     6
9   9     6
10 10    10
我想用最后一个可用的值来外推值,这样我的数据看起来像这样

> data
   ID Price
1   1     1
2   2     3
3   3    NA
4   4    NA
5   5     7
6   6     6
7   7    NA
8   8    NA
9   9    NA
10 10    10
> data_final
   ID Price
1   1     1
2   2     3
3   3     3
4   4     3
5   5     7
6   6     6
7   7     6
8   8     6
9   9     6
10 10    10

非常感谢您的帮助

我们可以使用
na.locf

library(zoo)
data$Price <- na.locf(data$Price)
data$Price
#[1]  1  3  3  3  7  6  6  6  6 10
图书馆(动物园)

数据$Price我们可以使用
na.locf

library(zoo)
data$Price <- na.locf(data$Price)
data$Price
#[1]  1  3  3  3  7  6  6  6  6 10
图书馆(动物园)

数据$Price您可以在tidyr中使用
fill

library(tidyr)
> fill(df, Price)
ID Price
1   1     1
2   2     3
3   3     3
4   4     3
5   5     7
6   6     6
7   7     6
8   8     6
9   9     6
10 10    10

您可以在tidyr中使用
fill

library(tidyr)
> fill(df, Price)
ID Price
1   1     1
2   2     3
3   3     3
4   4     3
5   5     7
6   6     6
7   7     6
8   8     6
9   9     6
10 10    10

下面是base R中的一个方法:

# construct data.frame
data <- data.frame("ID"=1:10, "Price"=c(1,3,NA,NA,7,6,NA,NA,NA,10))
# loop through vector iteratively replacing subsets of missing values
while(any(is.na(data$Price))) {
  data[, "Price"][is.na(data$Price)] <- data[, "Price"][which(is.na(data$Price))-1]
#构造data.frame

数据这里有一个以R为基数的方法:

# construct data.frame
data <- data.frame("ID"=1:10, "Price"=c(1,3,NA,NA,7,6,NA,NA,NA,10))
# loop through vector iteratively replacing subsets of missing values
while(any(is.na(data$Price))) {
  data[, "Price"][is.na(data$Price)] <- data[, "Price"][which(is.na(data$Price))-1]
#构造data.frame

数据参见-例如-,以及
?近似
Hmm的参数,哪种方法对第一个位置的NA具有鲁棒性参见-例如-,以及
?近似
Hmm的参数,哪种方法对第一个位置的NA具有鲁棒性