na.locf函数是在R中将数据帧值从int更改为char?

时间:2018-03-30 16:41:03

标签: r locf

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

auto& cityMap = totalmap["city"];

Mortality data

2 个答案:

答案 0 :(得分:0)

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

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

或者如果你只想将它应用于jx中的列(可能是整数位置的向量,逻辑向量或列名),那么:

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

或不覆盖将City分配给City2,然后使用上面的City2进行操作,或者使用单行代码:

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

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

答案 1 :(得分:0)

考虑使用<script type="text/javascript"> window.onload = function () { var frame = document.getElementById('iframe'); frame.onload = function () { var body = frame.contentWindow.document.body; body.onclick = function () { var src = frame.getAttribute("src"); window.open(src, "_blank"); }; } } </script> 代替tidyr::fill()