na.locf 函数正在将 R 中的数据帧值从 int 更改为 char?
na.locf function is changing data frame values from int to char in R?
我有一个大数据框,我试图填充其中的一些缺失值。我试图使用 na.locf 函数,但它正在将数据框中的所有值更改为字符。我的数据是死亡率数据,NA 仅在没有记录死亡的行中(前 6 列在那里,但其余列有 NA)。我的 df 叫做 "City"。有没有更好的填充数据的方法?我确实遇到过其他城市 20-150 周未记录数据的情况。显然我不想要这些 na.locf。
City <- na.locf(City)
它正在将您的数据框强制转换为矩阵。而是这样做:
City[] <- lapply(City, na.locf0)
或者如果您只想将它应用于 jx 中的列(它可以是整数位置的向量、逻辑向量或列名),则:
City[jx] <- lapply(City[jx], na.locf0)
或不覆盖将 City
分配给 City2
,然后使用上面的 te 对 City2
进行操作,否则使用 one-liner:
City2 <- replace(City, TRUE, lapply(City, na.locf0))
或
City2 <- replace(City, jx, lapply(City[jx], na.locf0))
考虑使用 tidyr::fill()
而不是 na.locf()
我有一个大数据框,我试图填充其中的一些缺失值。我试图使用 na.locf 函数,但它正在将数据框中的所有值更改为字符。我的数据是死亡率数据,NA 仅在没有记录死亡的行中(前 6 列在那里,但其余列有 NA)。我的 df 叫做 "City"。有没有更好的填充数据的方法?我确实遇到过其他城市 20-150 周未记录数据的情况。显然我不想要这些 na.locf。
City <- na.locf(City)
它正在将您的数据框强制转换为矩阵。而是这样做:
City[] <- lapply(City, na.locf0)
或者如果您只想将它应用于 jx 中的列(它可以是整数位置的向量、逻辑向量或列名),则:
City[jx] <- lapply(City[jx], na.locf0)
或不覆盖将 City
分配给 City2
,然后使用上面的 te 对 City2
进行操作,否则使用 one-liner:
City2 <- replace(City, TRUE, lapply(City, na.locf0))
或
City2 <- replace(City, jx, lapply(City[jx], na.locf0))
考虑使用 tidyr::fill()
而不是 na.locf()