#r #r-markdown #knitr #kable #r-glue
Вопрос:
У меня есть несколько наборов таблиц (набор таблиц 1, набор таблиц 2,…), поэтому я хочу создать функцию, которая будет:
- свяжите мой стол (в уценке R)
- и автоматически изменяйте заголовок таблицы в зависимости от набора таблиц, который я использую
Ниже приведена функция, которую я создаю, однако, когда я запускаю функцию, она возвращает меня:
- стол (который я ожидаю)
- строка
[1] "1"
(я не знаю, что это такое и почему функция возвращает это)
Не могли бы вы помочь мне объяснить эту строку и как ее удалить?
Вы можете воспроизвести, используя приведенные ниже коды
table.set1 <- rbind(c(3, 27),
c(33, 9))
rownames(table.set1) <- c("Studying", "Not-studying")
colnames(table.set1) <- c("Men", "Women")
myfunction <- function(mydata, mytext) {
knitr::kable(mydata,
caption = glue::glue("Table set {print(mytext)}")
)
}
> myfunction(mydata = table.set1, mytext = "1")
## [1] "1"
##
##
## Table set 1
##
## | | Men| Women|
## |:------------|---:|-----:|
## |Studying | 3| 27|
## |Not-studying | 33| 9|
> class(myfunction(mydata = table.set1, mytext = "1"))
## [1] "1"
## [1] "knitr_kable"
Комментарии:
1. зачем вам это нужно
print()
?2. @Майк, О, глупый я… Я удалил печать (), и теперь она работает как заклинание. Большое вам спасибо!!