首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RStudio0.98.1087版dplyr中group_by函数的奇怪行为

RStudio0.98.1087版dplyr中group_by函数的奇怪行为
EN

Stack Overflow用户
提问于 2015-03-20 12:56:59
回答 1查看 545关注 0票数 0

我是R新手,在RStudio中处理数据帧'damageData‘。数据框架的简要摘要:

代码语言:javascript
复制
>str(damageData)  
'data.frame':    902297 obs. of  9 variables:
  $ EVTYPE    : Factor w/ 985 levels "   HIGH SURF ADVISORY",..: 834 834 834 834 834 834 834 834 834 834 ...
  $ FATALITIES: num  0 0 0 0 0 0 0 0 1 0 ...
  $ INJURIES  : num  15 0 2 2 2 6 1 0 14 0 ...
  $ PROPDMG   : num  25 2.5 25 2.5 2.5 2.5 2.5 2.5 25 25 ...
  $ PROPDMGEXP: num  1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ...
  $ CROPDMG   : num  0 0 0 0 0 0 0 0 0 0 ...
  $ CROPDMGEXP: num  0 0 0 0 0 0 0 0 0 0 ...
  $ Property  : num  25000 2500 25000 2500 2500 2500 2500 2500 25000 25000 ...
  $ Crops     : num  0 0 0 0 0 0 0 0 0 0 ...

> head(damageData, 10)
      EVTYPE FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP
 1  TORNADO          0       15    25.0       1000       0          0
 2  TORNADO          0        0     2.5       1000       0          0
 3  TORNADO          0        2    25.0       1000       0          0
 4  TORNADO          0        2     2.5       1000       0          0
 5  TORNADO          0        2     2.5       1000       0          0
 6  TORNADO          0        6     2.5       1000       0          0
 7  TORNADO          0        1     2.5       1000       0          0
 8  TORNADO          0        0     2.5       1000       0          0
 9  TORNADO          1       14    25.0       1000       0          0
 10 TORNADO          0        0    25.0       1000       0          0
    Property Crops
 1     25000     0
 2      2500     0
 3     25000     0
 4      2500     0
 5      2500     0
 6      2500     0
 7      2500     0
 8      2500     0
 9     25000     0
 10    25000     0

我想按EVTYPE对数据框进行分组。当我使用dplyr包和'group_by( EVTYPE )‘后跟summarize(TotalInjuries=sum(伤害),TotalFatalities=sum(死亡))时,数据帧没有按EVTYPE分组。相反,我得到了以下结果:

TotalInjuries TotalFatalities 1 140528 15145

我尝试将EVTYPE从“factor”更改为“character”,但仍然得到相同的结果。请帮我解决这个问题!

EN

回答 1

Stack Overflow用户

发布于 2015-03-20 13:38:33

如果没有一个可重复的例子,就很难确切地说出发生了什么。您可能错误地使用了dplyr语法?如下所示:

代码语言:javascript
复制
damageData <- data.frame(
  EVTYPE = factor(c("Y","N","Y","N","Y","N","Y","N","Y","N")),
  FATALITIES = c(0,0,0,0,0,0,0,0,1,0),
  INJURIES = c(15,0,2,2,2,6,1,0,14,0))

str(damageData)

library(dplyr)

damageData %>%
  group_by( EVTYPE ) %>%
  summarize( TotalInjuries=sum(INJURIES),
             TotalFatalities=sum(FATALITIES))

我得到了以下信息

代码语言:javascript
复制
Source: local data frame [2 x 3]  

  EVTYPE TotalInjuries TotalFatalities  
1      N             8               0  
2      Y            34               1  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29159701

复制
相关文章

相似问题

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