r-如何用百分比变化来代替NA



我的R数据与";启动";柱我想替换NA,它们在数据帧中的数量各不相同。I可以通过插值来替换NA,如第二列所示;然而,如第3栏所示,我想用相等的百分比变化来代替NAs,在这种情况下,每个时期增加29.155%。不过,请注意,我的专栏有许多不同长度的NA以及不同的起始和结束数字。我想要一种适用于所有这些情况的方法。

开始 Inter 百分比
10 10.00
NA
NA
NA
NA
NA 60 35.938
NA
NA
NA
100

您可以使用cumprod()

first <- 10
last <- 100
rows <- 10
ratio <- (last/first)^(1/(rows-1))    
round(c(first,cumprod(rep((ratio),rows-1)) * rep(first,rows-1)),3)

给予,

# [1]  10.000  12.915  16.681  21.544  27.826  35.938  46.416  59.949  77.427 100.000

相关内容

  • 没有找到相关文章

最新更新