#r
Вопрос:
Я пытаюсь добавить заголовок над таблицей.
цель состоит в том, чтобы добавить заголовок над именем столбца»#», а также я хочу преобразовать таблицу в таблицу flex для применения гибких тем.
также я хочу сгруппировать таблицу по типу автомобиля . любое решение для этого
df <- data.frame(names= c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout", "Valiant", "Duster 360", "Merc 240D", "Merc 230", "Merc 280", "Merc 280C", "Merc 450SE", "Merc 450SL", "Merc 450SLC", "Cadillac Fleetwood"),
score = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8, 16.4, 17.3, 15.2, 10.4) )
table1 <- df %>% rownames_to_column("#") %>% rename("Car type" = names) %>%
mutate(score = as.character(score)) %>%
add_row(`Car type` = "", score = "form", .before = "#")
Комментарии:
1. Вы получаете эту ошибку, потому
.before
что ожидаете (числовой) индекс строки. КСТАТИ:dplyr::add_row
предназначен для добавления строк в фрейм данных, а не для добавления заголовка поверх имен столбцов. Может быть, ты хочешьflextable::add_header
Ответ №1:
df <- data.frame(names= c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout", "Valiant", "Duster 360", "Merc 240D", "Merc 230", "Merc 280", "Merc 280C", "Merc 450SE", "Merc 450SL", "Merc 450SLC", "Cadillac Fleetwood"),
score = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8, 16.4, 17.3, 15.2, 10.4) )
table1 <- df %>% rownames_to_column("#") %>% rename(Car_type = names) %>%
mutate(Class = ifelse(score>21,"Top Class",ifelse(score>18,"Med Class","Low Class")))%>%
mutate(Class = as.factor(Class))%>%
group_by(Class)%>%
arrange(Class)%>%
select(Class,everything())%>%
ungroup()
table1
Я не знаю, можем ли мы объединить строки или даже столбцы в R, как вы сделали для класса. Это, вероятно, сделано в Excel.
Вы должны сгруппировать столбцы и расположить их, если хотите что-то близкое к этому
Также не уверен в том, что вы подразумеваете под заголовком, но если вы хотите изменить имя столбца, вы можете использовать функцию переименования (ваше использование не будет работать, так как в противном случае не может быть пробелов, иначе это создаст проблему при ссылке (это недостаток в R, вы должны в основном заменять пробелы на . или _ перед работой))
Комментарии:
1. Я также хочу добавить заголовок выше. как видно на рисунке выше, «Форма»
2. Что вы имеете в виду под заголовком. В R есть только имена столбцов
3. например, в желаемой выходной таблице один заголовок для имен («#», автомобиль,оценка), а над ним требуется другой заголовок с именами c(«»,»»,Форма)
4. О, хорошо. Я не думаю, что мы сможем это сделать. Также я не вижу в этом необходимости.