У меня есть фрейм данных, который содержит переменную с именем ProgramName, которая содержит имена разных программ, но иногда эти имена меняются.Я хочу создать функцию, которая создает фрейм данных для каждого имени программы.Подобно тому, что делает функция подмножества.
Существуют и другие характеристики в кадре данных, которые также необходимо отфильтровать, поэтому следующий код позаботится об этом
ma <- as.data.frame(Missing_AttendanceKIDS, stringsAsFactors = FALSE)
mi <- as.data.frame(Missing_AttendanceSIS, stringsAsFactors = FALSE)
mi <- mi %>% select(c("ProgramName", "FnLnDOB", "Funding", "Missing Days"))
ma$ProgramName <- as.character(ma$ProgramName)
ma <- ma[!(ma$Funder == "School Board (FL)" & ma$Issue == "non-existent"), ]
HaveFirstTermCode <- ma %>% subset(FirstTermCodeDate != "NULL")
ma <- ma[!(ma$FirstTermCodeDate != "NULL"), ]
InvalidTermCode <- ma %>% subset(Issue == "invalid term code")
ma <- ma[!(ma$Issue == "invalid term code"), ]
Blkgenerator <- ma %>% subset(ma$Issue == "non-existent" & ma$Funder != "School Board (FL)")
ma <- ma[!(ma$Issue == "non-existent" & ma$Funder != "School Board (FL)"), ]
ma$ProgramName <- as.factor(ma$ProgramName)
Приведенный ниже код - это то, что я хотел бы, чтобы функция выполняла.Если возможно, также дайте результирующему фрейму данных имя программы.
Missing_Attendance_Acadiana <- subset(ma, ma$ProgramName == "Acadiana" & ma$Issue == "blank")
Missing_Attendance_Alabama <- subset(ma, ma$ProgramName == "Alabama Family Services" & ma$Issue == "blank")
Missing_Attendance_Beaufort <- ma[ma$ProgramName %like% "Beaufort" & ma$Issue == "blank", ]
Missing_Attendance_Piedmont <- ma[ma$ProgramName %like% "Piedmont" & ma$Issue == "blank", ]
После того, как я получил фреймы данных, я запускаю следующую функцию, чтобы создать html с фреймом данных в нем с помощью R Markdown.
tablemu = function(df) kable(df, row.names = FALSE, caption = "Missing Attendance") %>%
kable_styling(bootstrap_options = "striped", position = "center", full_width = T, fixed_thead = list(enabled = T, background = "Orange"), stripe_color = list(enabled = T, background = "yellow") ) %>%
column_spec(1:4, bold = T, border_left = T, border_right = T)