> count_m0 <- m0 %>% group_by(machine_id, disaster_level_1, disaster_level_2) %>% summarise(count = n()) `summarise()` has grouped output by 'machine_id', 'disaster_level_1'. You can override using the `.groups` argument.怎么办
时间: 2024-03-25 14:36:45 浏览: 19
这是因为最新版本的dplyr包对于group_by函数后的summarise操作,默认会将结果按照group_by的变量进行分组,而不是像旧版本那样不分组。如果想要不分组,需要在summarise函数中加上`.groups = "drop"`参数,或者在group_by函数后面加上`.drop = TRUE`参数。修改后的代码如下:
```
count_m0 <- m0 %>%
group_by(machine_id, disaster_level_1, disaster_level_2, .drop = TRUE) %>%
summarise(count = n(), .groups = "drop")
```
这样就可以避免出现上述的警告信息了。
相关问题
1.4根据时间索引,将数据集machine分成时间索引为0的m0,和其他的数据m8;分别对m0和m8进行汇总:按机器ID、一级故障二级故障进行故障次数汇总,然后新增一列平均每天故障次数FD=count/8,并按机器将两类故障次数由大到小排序。指出故障次数最高的机器ID,及平均每天出现故障次数。 1.5利用summary函数,你可以看到status变量有两个值“IMPORT_INSTALLING”和“USING”,且,前者的记录非常少,将这几条数据提取出来,看看有什么特征?time_stamp变量给出的是事件发生时刻在8天跟踪数据中的秒数,根据这几条记录的time_stamp,计算出这些事件发生在第几天的什么时间?
1.4 根据时间索引,将数据集machine分成时间索引为0的m0,和其他的数据m8;分别对m0和m8进行汇总:按机器ID、一级故障二级故障进行故障次数汇总,然后新增一列平均每天故障次数FD=count/8,并按机器将两类故障次数由大到小排序。指出故障次数最高的机器ID,及平均每天出现故障次数。
可以使用以下代码将数据集按照时间索引分成m0和m8,并对两个数据集进行汇总和排序:
```
# 提取时间索引为0的数据集m0
m0 <- machine[machine$time_stamp == 0, ]
# 提取时间索引不为0的数据集m8
m8 <- machine[machine$time_stamp != 0, ]
# 计算故障次数并按照机器ID、一级故障、二级故障进行汇总
library(dplyr)
count_m0 <- m0 %>%
group_by(machine_id, disaster_level_1, disaster_level_2) %>%
summarise(count = n())
# 计算平均每天故障次数
count_m0$FD <- count_m0$count / 8
# 对m0按照故障次数由大到小排序
count_m0 <- count_m0[order(count_m0$count, decreasing = TRUE), ]
# 对m8按照故障次数由大到小排序
count_m8 <- m8 %>%
group_by(machine_id, disaster_level_1, disaster_level_2) %>%
summarise(count = n()) %>%
arrange(desc(count))
# 计算平均每天故障次数
count_m8$FD <- count_m8$count / 8
# 对m8按照故障次数由大到小排序
count_m8 <- count_m8[order(count_m8$count, decreasing = TRUE), ]
# 输出故障次数最高的机器ID及平均每天出现故障次数
cat("故障次数最高的机器ID为", count_m8$machine_id[1], ",平均每天出现故障次数为", count_m8$FD[1])
```
1.5 利用summary函数,你可以看到status变量有两个值“IMPORT_INSTALLING”和“USING”,且,前者的记录非常少,将这几条数据提取出来,看看有什么特征?time_stamp变量给出的是事件发生时刻在8天跟踪数据中的秒数,根据这几条记录的time_stamp,计算出这些事件发生在第几天的什么时间?
可以使用以下代码将status为"IMPORT_INSTALLING"的记录提取出来,并查看其特征:
```
# 提取status为"IMPORT_INSTALLING"的记录
import_installing <- machine[machine$status == "IMPORT_INSTALLING", ]
# 查看import_installing数据集的摘要信息
summary(import_installing)
```
根据time_stamp计算出这些事件发生在第几天的什么时间可以使用以下代码:
```
# 计算事件发生的时间
event_time <- as.POSIXct(as.numeric(import_installing$time_stamp),
origin = "2018-01-01 00:00:00", tz = "GMT")
# 输出事件发生的日期和时间
cat("这些事件分别发生在以下日期和时间:", event_time)
```
需要注意的是,time_stamp变量给出的是从2018年1月1日00:00:00起的秒数,需要将其转换为日期和时间。
DEM_EVENT_KIND_BSW和)DEM_EVENT_KIND_SWC的区别
DEM_EVENT_KIND_BSW和DEM_EVENT_KIND_SWC是事件类型(event kinds)在某些软件或系统中可能使用的标识符。这两个标识通常用于表示不同类型的事件,比如在灾难管理(Disaster Event Management)或仿真(Simulation)等领域的数据模型中。
- **DEM_EVENT_KIND_BSW** (Building Structural Weakness):这种事件可能指代的是建筑物结构中的弱点或故障,比如结构损坏、材料老化等,这可能是灾害发生时影响建筑稳定性的因素。这类事件关注的是基础设施层面的问题。
- **DEM_EVENT_KIND_SWC** (System Weakness or Critical Component):相比之下,SWC可能代表系统中的弱点或关键组件失效,比如软件缺陷、硬件故障等。这类事件更多地与系统功能的中断或性能下降有关。
两者之间的区别在于,前者侧重于物理结构层面的问题,后者则聚焦于系统的功能和组件层面。具体应用场景可能会有所不同,例如,在应急响应计划中,BSW事件可能影响建筑物的可用性,而SWC事件可能导致服务中断或数据丢失。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)