首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使R和不存在或为空数据

如何使R和不存在或为空数据
EN

Stack Overflow用户
提问于 2021-03-10 04:34:30
回答 1查看 30关注 0票数 1

有点令人费解,所以我将从基本概念开始。数据是按地区和规模划分的就业人数。从那里,我产生了一个数据框架,其中包含大小类、面积、按大小类划分的总就业人数、按大小分类划分的工作站点数量。规模越大,就业人数越多。1等于使用0到4.9之间的值。9等于使用1000+。显然,有些地区没有大的雇主。但是,我需要最终结果总是有9行每个区域,即使没有就业的大小类。示例数据如下所示。

代码语言:javascript
复制
   area <- c(01,01,01,01,01,01,01,03,03,03,03)
   employment <- c(1,5,9,10,11,12,67,100,4,444,149)
   sizeclass <- c(1,2,2,3,3,3,5,6,1,7,6)
   df2 <- data.frame(area,employment,sizeclass)

这是我正在使用的代码,当它工作时,它不会为区域01中的sizeclass 4产生结果。即使没有要求和或计数的内容,我如何让它按大小类求和?

代码语言:javascript
复制
   sizeclassreport <- df2 %>% 
   select (area,employment,sizeclass) %>%
   group_by(area,sizeclass) %>%
   summarise(employment = sum(employment),worksites = n())

期望的结果将是18行的长度,以及每个大小类的就业总和和工作站点的数量,即使没有就业。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 04:36:13

我们可以使用complete从'sizeclass‘的自定义值范围中获取1到9之间的所有值。默认情况下,其他列值将由NA填充。如果需要,可以使用自定义值对其进行fill,例如0

代码语言:javascript
复制
library(dplyr)
library(tidyr)
sizeclassreport %>% 
  group_by(area) %>% 
  complete(sizeclass = 1:9,
         fill = list(employment = 0, worksites = 0)) %>%
  ungroup

-output

代码语言:javascript
复制
# A tibble: 18 x 4
    area sizeclass employment worksites
   <dbl>     <dbl>      <dbl>     <dbl>
 1     1         1          1         1
 2     1         2         14         2
 3     1         3         33         3
 4     1         4          0         0
 5     1         5         67         1
 6     1         6          0         0
 7     1         7          0         0
 8     1         8          0         0
 9     1         9          0         0
10     3         1          4         1
11     3         2          0         0
12     3         3          0         0
13     3         4          0         0
14     3         5          0         0
15     3         6        249         2
16     3         7        444         1
17     3         8          0         0
18     3         9          0         0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66554401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档