R 中的数据整理大数据帧列表

问题描述 投票:0回答:2

我有一大堆具有相同列名的数据框。我想编写代码,将相同的数据整理规则应用于列表中包含的每个数据帧。 R 全局环境的列表输出示例 A list 为了提供列表中包含的数据帧的示例,我在此处创建了两个带有可运行代码的示例数据帧:

df<-data.frame(Event.Type = c("SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER6","SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5","SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA",  "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5","SEVT_USER6", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER4", "SEVT_TYPE3_AROUSAL", "SEVT_USER4", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER1", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_USER3", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5","SEVT_USER5","SEVT_USER5"),
               (Event.Label = c(NA, "Auto Trigger", "AASM", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", "Auto Trigger", "Double Trigger", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", "AASM", "AASM", NA, "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", NA, "AASM", "AASM", "AASM", "AASM", "Auto Trigger", "Double Trigger", "AASM", "Auto Trigger", "Double Trigger","AASM", "Double Trigger", "AASM", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "AASM", "Double Trigger", NA, "AASM", "AASM", "AASM", "AASM", NA, "Double Trigger", "AASM", "Double Trigger", NA, "Double Trigger", NA, "AASM", "Double Trigger", "AASM", "High Leak", "AASM", "AASM", "Auto Trigger", "AASM", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", NA, "AASM", "Auto Trigger", "Double Trigger",  "AASM", "AASM", "AASM", NA, "AASM", "AASM", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", NA, "Double Trigger", "AASM", "AASM", "AASM", "AASM", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", NA, "Double Trigger", "Double Trigger", "Double Trigger", "AASM", "AASM", "Double Trigger", "AASM", "Ineffective Effort", "AASM", "Ineffective Effort", "AASM", "AASM", "AASM",  "Double Trigger", "AASM", "Double Trigger", "High Leak", "Double Trigger", NA, "AASM", "Auto Trigger", NA, "Double Trigger", "AASM", "High Leak", "Double Trigger", "AASM", "High Leak", "Auto Trigger", "AASM", "AASM", "Double Trigger", "Double Trigger", "Double Trigger", "Hyperventilation", "Double Trigger", "Auto Trigger","Double Trigger", "Double Trigger", "Double Trigger", "Double Trigger"))) 

df2<- data.frame(Event.Type = c("SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER4", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER1", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER4", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER4", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER4", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER1", "SEVT_USER4", "SEVT_USER6", "SEVT_USER5", "SEVT_USER1", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6",                "SEVT_USER6", "SEVT_USER5", "SEVT_USER4", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6",  "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER2", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_SPO2_DESAT", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER2", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER2", "SEVT_USER5", "SEVT_USER6", "SEVT_USER2", "SEVT_USER2", "SEVT_USER5","SEVT_USER4", "SEVT_USER2", "SEVT_USER5", "SEVT_USER2", "SEVT_USER2", "SEVT_USER5", "SEVT_USER2", "SEVT_USER6", "SEVT_USER5"),
                 Event.Label = c("Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Ineffective Effort", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", "Auto Trigger", "Auto Trigger", "Double Trigger", "High Leak", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", NA, NA, "Auto Trigger", "Double Trigger",  NA, NA, "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Double Trigger", NA, "Double Trigger",  NA, "Auto Trigger", NA, "Auto Trigger", "Ineffective Effort", "Auto Trigger", NA, "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", NA, "Auto Trigger", "Double Trigger", NA,  "Auto Trigger", "Ineffective Effort", "Double Trigger", "Auto Trigger", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Double Trigger",  "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger",  "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger",  "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Ineffective Effort", NA, NA, "Double Trigger", "Double Trigger", "Ineffective Effort", "Auto Trigger", NA, "High Leak", "Ineffective Effort", "Auto Trigger", "Double Trigger", "High Leak", "Double Trigger", NA, NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Ineffective Effort", "Double Trigger", "Double Trigger", NA, NA, "Double Trigger", NA, "Auto Trigger", NA, "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Ineffective Effort", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Auto Trigger", NA, NA, "Auto Trigger", "Double Trigger", NA, NA, NA, "Hypoventilation", NA, "Auto Trigger", "Double Trigger", "Hypoventilation", "Double Trigger", NA, "Auto Trigger", NA, "Hypoventilation", "Double Trigger", NA,  NA, "Auto Trigger", "Hypoventilation", "Double Trigger", NA, "Auto Trigger", NA, "Hypoventilation", NA, NA, "Double Trigger", "Ineffective Effort", "Auto Trigger", "Hypoventilation", "Double Trigger", NA, "Hypoventilation", "Double Trigger", "Auto Trigger", "Hypoventilation", "Hypoventilation", "Double Trigger", "Ineffective Effort", "Hypoventilation", "Double Trigger", "Hypoventilation", "Hypoventilation", "Double Trigger", "Hypoventilation", "Auto Trigger", "Double Trigger" )) 

A_list<- list(df, df2)

单个数据框 (df2) 的预期数据整理示例:

df3<- df2 %>% mutate(Event.Type =
                 case_when(Event.Type == "SEVT_OBSTRUCTIVE_HYPOPNEA" ~ "hypopnea",
                           Event.Type == "SEVT_OBSTRUCTIVE_APNEA" ~ "obstruct_apnea",
                           Event.Type == "SEVT_MIXED_APNEA" ~ "mixed_apnea",
                           Event.Type == "SEVT_CENTRAL_APNEA" ~ "central_apnea")) %>% 
  mutate(Event.Label=
           case_when(Event.Label == "Auto Trigger" ~ "auto_trig",
                     Event.Label == "Double Trigger" ~ "double_trig",
                     Event.Label == "Ineffective Effort" ~ "ineffective_eff",
                     Event.Label == "High Leak" ~ "high_leak",
                     Event.Label == "Hyperventilation" ~ "hyperventilation",
                     Event.Label == "Hypoventilation" ~ "hypoventilation")) %>% 
  mutate(Events = coalesce(Event.Type, Event.Label))
  
df4<- df3[!(is.na(df3$Events)), ]

阅读在线资源,我认为编写包含 purr:map 的代码是最有效的方法;但是,我似乎找不到任何使用 dplyr::mutate 或 dplyr::case_when 函数的示例。我认为这是解决手头任务的有效方法吗?如果是这样,非常感谢任何关于如何编写代码以将数据整理应用于大量数据帧的输入!

r dataframe dplyr case purrr
2个回答
3
投票

看起来你想要这样的东西:

library(tidyverse)

map(A_list, ~ mutate(., Event.Type = case_when(
                          Event.Type == "SEVT_OBSTRUCTIVE_HYPOPNEA" ~ "hypopnea",
                          Event.Type == "SEVT_OBSTRUCTIVE_APNEA" ~ "obstruct_apnea",
                          Event.Type == "SEVT_MIXED_APNEA" ~ "mixed_apnea",
                          Event.Type == "SEVT_CENTRAL_APNEA" ~ "central_apnea"),
                        Event.Label = case_when(Event.Label == "Auto Trigger" ~ "auto_trig",
                          Event.Label == "Double Trigger" ~ "double_trig",
                          Event.Label == "Ineffective Effort" ~ "ineffective_eff",
                          Event.Label == "High Leak" ~ "high_leak",
                          Event.Label == "Hyperventilation" ~ "hyperventilation",
                          Event.Label == "Hypoventilation" ~ "hypoventilation"),
                          Events = coalesce(Event.Type, Event.Label)) %>% 
              filter(!is.na(Events)))

或者按照Ric建议

process_df <- function(df) {
  mutate(df, Event.Type = case_when(
                          Event.Type == "SEVT_OBSTRUCTIVE_HYPOPNEA" ~ "hypopnea",
                          Event.Type == "SEVT_OBSTRUCTIVE_APNEA" ~ "obstruct_apnea",
                          Event.Type == "SEVT_MIXED_APNEA" ~ "mixed_apnea",
                          Event.Type == "SEVT_CENTRAL_APNEA" ~ "central_apnea"),
                        Event.Label = case_when(Event.Label == "Auto Trigger" ~ "auto_trig",
                          Event.Label == "Double Trigger" ~ "double_trig",
                          Event.Label == "Ineffective Effort" ~ "ineffective_eff",
                          Event.Label == "High Leak" ~ "high_leak",
                          Event.Label == "Hyperventilation" ~ "hyperventilation",
                          Event.Label == "Hypoventilation" ~ "hypoventilation"),
                          Events = coalesce(Event.Type, Event.Label)) %>% 
              filter(!is.na(Events))
}

map(A_list, process_df)

在map中,您可以像上面的示例一样传递函数,也可以将其作为匿名函数传递(如第一个示例中所示)。 R 中有几种不同的格式化匿名函数的方法,我使用的只是其中一种。

map
函数的主要替代品是
apply
函数(
sapply
lapply
等)


0
投票

我们也可以使用

dplyr::rowwise()
代替
purrr::map()
。对于这种操作,最好将数据放在嵌套的
data.frame
中。下面我用
data.frame
创建了这个嵌套的
dplyr::nest_by()
。请注意,这会自动应用
rowwise()
,因此无需直接使用它。

library(dplyr)

nested_dfs <- df |> 
  bind_rows(df2, .id = "id") |> 
  nest_by(id)

nested_dfs |>  # nest_by() automatically applies `dplyr::rowwise()`
  mutate(data = list(
    
    data |> 
      mutate(
        Event.Type =
          case_when(Event.Type == "SEVT_OBSTRUCTIVE_HYPOPNEA" ~ "hypopnea",
                    Event.Type == "SEVT_OBSTRUCTIVE_APNEA" ~ "obstruct_apnea",
                    Event.Type == "SEVT_MIXED_APNEA" ~ "mixed_apnea",
                    Event.Type == "SEVT_CENTRAL_APNEA" ~ "central_apnea"),
        Event.Label=
          case_when(Event.Label == "Auto Trigger" ~ "auto_trig",
                    Event.Label == "Double Trigger" ~ "double_trig",
                    Event.Label == "Ineffective Effort" ~ "ineffective_eff",
                    Event.Label == "High Leak" ~ "high_leak",
                    Event.Label == "Hyperventilation" ~ "hyperventilation",
                    Event.Label == "Hypoventilation" ~ "hypoventilation"),
        
        Events = coalesce(Event.Type, Event.Label)
        ) |>  # close inner mutate
      filter(!is.na(Events))
  ) # close list
  ) # close outer mutate

#> # A tibble: 2 x 2
#> # Rowwise:  id
#>   id    data              
#>   <chr> <list>            
#> 1 1     <tibble [13 x 4]> 
#> 2 2     <tibble [196 x 4]>

来自OP的数据

df<-data.frame(Event.Type = c("SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER6","SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5","SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA",  "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5","SEVT_USER6", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER4", "SEVT_TYPE3_AROUSAL", "SEVT_USER4", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER1", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_TYPE3_AROUSAL", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_USER5", "SEVT_TYPE3_AROUSAL", "SEVT_USER1", "SEVT_USER6", "SEVT_TYPE3_AROUSAL", "SEVT_TYPE3_AROUSAL", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_USER3", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5","SEVT_USER5","SEVT_USER5"),
               (Event.Label = c(NA, "Auto Trigger", "AASM", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", "Auto Trigger", "Double Trigger", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", "AASM", "AASM", NA, "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", NA, "AASM", "AASM", "AASM", "AASM", "Auto Trigger", "Double Trigger", "AASM", "Auto Trigger", "Double Trigger","AASM", "Double Trigger", "AASM", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "AASM", "Double Trigger", NA, "AASM", "AASM", "AASM", "AASM", NA, "Double Trigger", "AASM", "Double Trigger", NA, "Double Trigger", NA, "AASM", "Double Trigger", "AASM", "High Leak", "AASM", "AASM", "Auto Trigger", "AASM", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "AASM", "Double Trigger", "AASM", "AASM", "AASM", NA, "AASM", "Auto Trigger", "Double Trigger",  "AASM", "AASM", "AASM", NA, "AASM", "AASM", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", NA, "Double Trigger", "AASM", "AASM", "AASM", "AASM", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", NA, "Double Trigger", "Double Trigger", "Double Trigger", "AASM", "AASM", "Double Trigger", "AASM", "Ineffective Effort", "AASM", "Ineffective Effort", "AASM", "AASM", "AASM",  "Double Trigger", "AASM", "Double Trigger", "High Leak", "Double Trigger", NA, "AASM", "Auto Trigger", NA, "Double Trigger", "AASM", "High Leak", "Double Trigger", "AASM", "High Leak", "Auto Trigger", "AASM", "AASM", "Double Trigger", "Double Trigger", "Double Trigger", "Hyperventilation", "Double Trigger", "Auto Trigger","Double Trigger", "Double Trigger", "Double Trigger", "Double Trigger"))) 

df2<- data.frame(Event.Type = c("SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER4", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER1", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER4", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER4", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER4", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER1", "SEVT_USER4", "SEVT_USER6", "SEVT_USER5", "SEVT_USER1", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6",                "SEVT_USER6", "SEVT_USER5", "SEVT_USER4", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER6",  "SEVT_USER6", "SEVT_USER5", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER6", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER2", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER5", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_SPO2_DESAT", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_SPO2_DESAT", "SEVT_USER6", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER6", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER2", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_OBSTRUCTIVE_APNEA", "SEVT_USER5", "SEVT_USER4", "SEVT_USER6", "SEVT_USER2", "SEVT_USER5", "SEVT_OBSTRUCTIVE_HYPOPNEA", "SEVT_USER2", "SEVT_USER5", "SEVT_USER6", "SEVT_USER2", "SEVT_USER2", "SEVT_USER5","SEVT_USER4", "SEVT_USER2", "SEVT_USER5", "SEVT_USER2", "SEVT_USER2", "SEVT_USER5", "SEVT_USER2", "SEVT_USER6", "SEVT_USER5"),
                 Event.Label = c("Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Ineffective Effort", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", "Auto Trigger", "Auto Trigger", "Double Trigger", "High Leak", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", NA, NA, "Auto Trigger", "Double Trigger",  NA, NA, "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Double Trigger", NA, "Double Trigger",  NA, "Auto Trigger", NA, "Auto Trigger", "Ineffective Effort", "Auto Trigger", NA, "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", NA, "Auto Trigger", "Double Trigger", NA,  "Auto Trigger", "Ineffective Effort", "Double Trigger", "Auto Trigger", NA, "Auto Trigger", "Double Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Double Trigger",  "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger",  "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", "Auto Trigger",  "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Ineffective Effort", NA, NA, "Double Trigger", "Double Trigger", "Ineffective Effort", "Auto Trigger", NA, "High Leak", "Ineffective Effort", "Auto Trigger", "Double Trigger", "High Leak", "Double Trigger", NA, NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Ineffective Effort", "Double Trigger", "Double Trigger", NA, NA, "Double Trigger", NA, "Auto Trigger", NA, "Double Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", "Ineffective Effort", "Auto Trigger", "Double Trigger", "Auto Trigger", "Double Trigger", NA, "Auto Trigger", "Auto Trigger", "Double Trigger", "Double Trigger", NA, NA, "Auto Trigger", "Double Trigger", "Auto Trigger", NA, NA, "Auto Trigger", "Double Trigger", NA, NA, NA, "Hypoventilation", NA, "Auto Trigger", "Double Trigger", "Hypoventilation", "Double Trigger", NA, "Auto Trigger", NA, "Hypoventilation", "Double Trigger", NA,  NA, "Auto Trigger", "Hypoventilation", "Double Trigger", NA, "Auto Trigger", NA, "Hypoventilation", NA, NA, "Double Trigger", "Ineffective Effort", "Auto Trigger", "Hypoventilation", "Double Trigger", NA, "Hypoventilation", "Double Trigger", "Auto Trigger", "Hypoventilation", "Hypoventilation", "Double Trigger", "Ineffective Effort", "Hypoventilation", "Double Trigger", "Hypoventilation", "Hypoventilation", "Double Trigger", "Hypoventilation", "Auto Trigger", "Double Trigger" )) 

reprex 包于 2023 年 7 月 24 日创建(v2.0.1)

© www.soinside.com 2019 - 2024. All rights reserved.