0

我有一个大数据框,其中有一些缺失值,我正在尝试填充。我试图使用 na.locf 函数,但它正在将数据框中的所有值都更改为字符。我的数据是死亡率数据,而 NA 仅在没有记录死亡的行中(前 6 列在那里,但其余列有 NA)。我的df被称为“城市”。有没有更好的方法来填充数据?我确实有一些在其他城市没有记录数据 20-150 周的情况。显然,我不希望 na.locf 用于这些。

City <- na.locf(City)

死亡率数据

4

2 回答 2

0

它将您的数据框强制转换为矩阵。而是这样做:

City[] <- lapply(City, na.locf0)

或者,如果您只想将其应用于 jx 中的列(可能是整数位置的向量、逻辑向量或列名),则:

City[jx] <- lapply(City[jx], na.locf0)

或者不覆盖分配CityCity2然后使用City2上面的 te 进行操作,或者使用单行:

City2 <- replace(City, TRUE, lapply(City, na.locf0))

或者

City2 <- replace(City, jx, lapply(City[jx], na.locf0))
于 2018-03-30T17:55:28.533 回答
0

考虑使用tidyr::fill()而不是na.locf()

于 2018-09-17T16:58:06.450 回答