Недавно я наткнулся на фрагмент кода от другого пользователя R в Stackoverflow, который напечатал list
из data.frames
, используя kableExtra
, после следующего начального for
l oop for (i in 1:length(listofdfs))
, за которым следует соответствующий функция. До сих пор я всегда использовал for (i in seq_along(listofdfs))
, чтобы выполнить работу. Сравнение обоих методов на некотором случайном data.frames
не показало каких-либо различий (см. Ниже).
Мне было интересно, может ли кто-нибудь подробно остановиться на вопросах, которые следует учитывать при применении любого метода на практике независимо от печати dfs и т. Д. c. К сожалению, документация R
не содержит какой-либо информации по этому параметру c topi c.
Вот небольшой реперс, который приводит к тому же результату:
library (dplyr)
library (kableExtra)
# Some random data
city <- rep(c(1:3), each = 4) %>% factor ()
gender <- rep(c("m", "f", "m", "f", "m", "f", "m", "f", "m", "f", "m", "f"))
age <- c(32, 54, 67, 35, 19, 84, 34, 46, 67, 41, 20, 75)
working_yrs <- c(16, 27, 39, 16, 2, 50, 16, 23, 48, 21, 0, 57)
# Generating list of dfs by group split
listcity <- data.frame(city, gender, age, working_yrs) %>% group_split (city, keep=TRUE)
# for loop using seq_along
for (i in seq_along(listcity)) {
print(
kable(listcity[[i]], caption = "Using seq_along") %>%
kable_styling("striped", bootstrap_options = "hover", full_width = FALSE)
)}
# for loop using 1:length
for (i in 1:length(listcity)) {
print(
kable(listcity[[i]], caption = "Using 1:length") %>%
kable_styling("striped", bootstrap_options = "hover", full_width = FALSE)
)}