Новичок в R здесь. В Excel, если вы щелкните и перетащите, чтобы выбрать несколько ячеек, вы можете нажать «объединить ячейки», чтобы преобразовать несколько ячеек в одну. Подобное мышление, я хочу сделать это в R.
Возьмите этот фрейм данных для этого примера:
library(kableExtra)
library(magrittr)
library(knitr)
We_Love_Colours <- data.frame(
Name = c("Colours", "", ""),
G = c("green","green","green"),
B = c("blue", "blue", "blue"),
R = c("red", "red", "red"),
Y = c("yellow", "yellow", "yellow"),
P = c("purple", "purple", "purple"),
C = c("cyan", "cyan", "cyan")
)
kable(We_Love_Colours, format = "html", escape = FALSE, row.names = FALSE, caption = "Table 1.0: Rainbow?") %>%
kable_styling(
bootstrap_options = c("striped"),
full_width = FALSE,
position = "center"
)
И результат должен выглядеть примерно так, как изображение, которое я загружаю сюда.
Я хотел бы объединить имена столбцов «G», «B», «R», «Y», «P», «C» в одну ячейку и написать «Цвета». Как я могу это сделать?
Как и во всем, я попытался получить помощь от ChatGPT, и он предложил добавить эту часть:
kable(We_Love_Colours, format = "html", escape = FALSE, row.names = FALSE, caption = "Table 1.0: Rainbow?") %>%
add_header_above(c(" " = 1, "Colours" = 6)) %>%
kable_styling(
bootstrap_options = c("striped"),
full_width = FALSE,
position = "center"
Однако это просто создало новую строку над именами столбцов, а «Цвета» нависли над именами столбцов. Я хотел заменить эти имена столбцов одним именем столбца.
Это помогает? stackoverflow.com/q/36206042/12957340
@Эдвард Привет! Когда я публиковал это, я загрузил ссылку на imgur, содержащую два изображения. Позже в тот же день оно было отредактировано и заменено только одним изображением, чего я и стремился достичь. Возможно, это смутило некоторых читателей. ¯_(ツ)_/¯ Чтобы описать второе изображение, которого здесь нет, я связал документ с кодом R, который написал здесь, и второе изображение было его скриншотом. В таблице были столбцы, содержащие названия цветов, но каждый столбец имел имя столбца вверху. Мой запрос (на который теперь был дан ответ) требовал заменить их одним именем столбца.
Один из вариантов — удалить имена столбцов, используя col.names=NULL
, как предложено здесь, а затем использовать add_header_above
, чтобы добавить объединенный заголовок:
library(kableExtra)
library(magrittr)
library(knitr)
kable(We_Love_Colours,
format = "html", escape = FALSE,
row.names = FALSE,
col.names = NULL,
caption = "Table 1.0: Rainbow?"
) %>%
kable_styling(
bootstrap_options = c("striped"),
full_width = FALSE,
position = "center"
) %>%
add_header_above(
c(" " = 1, "Colours" = 6),
line = FALSE
)
Ага! Это ответило на мой вопрос. Большое спасибо! :D
Каков ваш ожидаемый результат? Думаю,chatGPT, как и все мы, не понял, чего вы хотите.