r - 使用 tidyr::complete 扩展数据框以填充时保留一列
问题描述
关于如何填充数据框中缺失的行,我使用了这个例子
df <- read.table(textConnection("car,year,month,country,amount
Mazda,2012,02,JP,2344
Ford,2012,04,US,235234
Mazda,2012,03,JP,3455
Mazda,2012,04,JP,43554
Mazda,2012,05,JP,9854
Mazda,2012,06,JP,32556
Ford, 2013,01,US,345"), sep = ",", header = TRUE)
> df
car year month country amount
1 Mazda 2012 2 JP 2344
2 Ford 2012 4 US 235234
3 Mazda 2012 3 JP 3455
4 Mazda 2012 4 JP 43554
5 Mazda 2012 5 JP 9854
6 Mazda 2012 6 JP 32556
7 Ford 2013 1 US 345
我使用 tidyr::complete 以这种方式填充月份和年份的缺失行:
tidyr::complete(df, car = unique(car), year = 2012:2014, month=1:12, fill=list(amount=0))
但国家迷失了。我已经阅读了 tidyr 文档,但它真的很短,并且找不到任何其他 SO 答案。
# A tibble: 108 x 5
car year month country amount
<fct> <int> <int> <fct> <dbl>
1 " Ford" 2012 1 NA 0
2 " Ford" 2012 2 NA 0
3 " Ford" 2012 3 NA 0
4 " Ford" 2012 4 US 235234
5 " Ford" 2012 5 NA 0
6 " Ford" 2012 6 NA 0
7 " Ford" 2012 7 NA 0
8 " Ford" 2012 8 NA 0
9 " Ford" 2012 9 NA 0
10 " Ford" 2012 10 NA 0
# ... with 98 more rows
如何保存它?
解决方案
我们可以把它放在nesting
library(tidyverse)
df %>%
complete(car = unique(car), year = 2012:2014, month = 1:12,
nesting(country), fill = list(amount = 0))
推荐阅读
- mysql - 当我单击提交按钮时,它不会存储到数据库中,但它会不断重定向回表单页面
- c# - 在 Visual Studio 桌面 MFC 类库项目中使用 WinUI 3
- wordpress - 图像未显示在自定义元素中
- html - IE 上不显示 Html 选项卡图标
- javascript - React 函数组件中的 this 关键字
- typescript - Typedoc:如何记录由客户端和服务器组成的应用程序
- javascript - 十字路口观察者在 chrome 中的 iphone 上不起作用
- python - 使用 find_elements_by_xpath 进行 Selenium 抓取会导致空白表
- go - 当资源超出周围功能的范围时,如何推迟资源清理?
- paperjs - 添加虚线样式的文字和特殊符号