Я импортировал данные из CSV и создал таблицу из этих данных. Приведенный ниже код представляет собой (по общему признанию, вероятно, обходной) способ объединения данных таким образом, который я бы хотел представить:
sc_data_specialty_1_count<-as.vector(table(sc_data$SPECIALTY_1)) #CREATE TABLE OF SPECIALTY_1 COUNTS
sc_data_specialty_1_percent<-as.vector(table(sc_data$SPECIALTY_1)/nrow(sc_data)) #CREATE TABLE OF SPECIALTY_1 PERCENT.
sc_data_specialty_1_table<-rbind(sc_data_specialty_1_count,sc_data_specialty_1_percent*100) #COMBINE TABLES
sc_data_specialty_1_table<-round(sc_data_specialty_1_table,digits = 0) #ROUND TABLE
rownames(sc_data_specialty_1_table)<-c("Count","Proportion (%)") #ADD ROW NAMES
Эта матрица (sc_data_specialty_1_table
) выглядит следующим образом:
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
Count 2 30 1 2 8 1 1
Proportion (%) 4 67 2 4 18 2 2
Обратите внимание, что есть семь столбцов. Я пытаюсь создать таблицу kable в RMarkdown со следующим кодом:
kable(sc_data_specialty_1_table, col.names=c("ENT","General Surgery","Neurosurgery","Ophthalmology","Orthopedic","PM&R","Urology"),format="latex",booktabs=TRUE, caption = "Professors by specialty") %>% #Creates an RMarkdown table using kable()
kable_styling(latex_options=c("scale_down","hold_position","striped")) #Scales down the table to fit in the page width.
Я получаю сообщение об ошибке, пытаясь сказать мне, что имена, указанные для столбцов, не соответствуют количеству столбцов, но я дал семь имен:
Error in dimnames(x) <- dn :
length of 'dimnames' [2] not equal to array extent
Calls: <Anonymous> ... eval -> eval -> %>% -> eval -> eval -> kable ->
colnames<-
Execution halted
Когда я сокращаю Kable до самой простой команды kable(sc_data_specialty_1_table)
, результат будет следующим:
По какой-то причине Kable добавляет первый столбец данных, которых нет (и не должно) существовать в sc_data_specialty_1_table
.
Когда я вчера работал над этим конкретным документом уценки, у меня не было этой проблемы. Я не менял код со вчерашнего дня и сегодня. Это происходит с несколькими таблицами в моей уценке, которые я построил аналогичным образом.
- Кто-нибудь знает, зачем добавляется этот лишний столбец?
- Если вы можете интерпретировать, какую таблицу я пытаюсь составить (необработанное количество в верхней строке, доля (%) этой специальности в нижней строке) и знаете более простой способ собрать это вместе в таблице, чем то, что я ' м, это было бы полезно.
Спасибо.
kableExtra
? Иначе я не могу найтиkable_styling
. Я не могу воспроизвести проблему без него, так что проблема, скорее всего, там. - person r2evans   schedule 17.09.2018