我有一个数据框,如下所示。我怎样才能更换NA?看起来对于相同的设备,源和时间戳lat和long也是一样的。因此,NA值应为:aaa,US,33.23,-117.31为第2行。我在想正确的方法吗?如果没有,那么以正确的方式替换这些缺失值的最佳方法是什么?
const scope = { sellAccessories: [] };
scope.sellAccessories[0] = [{
id: [178],
item_name: ["Nescafe", "ggfftrww"],
quantity: [1],
total_price: [300]
}]
const { item_name } = scope.sellAccessories[0][0];
item_name.splice(item_name.indexOf('ggfftrww'));
console.log(item_name);
提前致谢。
答案 0 :(得分:3)
尝试fill
,它是tidyr
包的一部分。 (与dplyr
一样,它是tidyverse
套件包的一部分。)
df <- df %>%
group_by(device, source, timestamp) %>%
fill(city, country, lat, long)
答案 1 :(得分:1)
来自zoo
zoo::na.locf(df)
city country lat long timestamp source device
1 aaa US 33.23 -117.31 2015-04-1211:51:16 ad w
2 aaa US 33.23 -117.31 2015-04-1211:51:16 ad w
3 bbb US 33.78 -117.96 2015-04-1211:51:16 se m
4 bbb US 33.78 -117.96 2015-04-1211:51:16 se m
5 aaa US 33.23 -117.31 2015-04-1211:51:16 ad w