gridExtra, R-заменить NA на тире, не теряя запятую в столбцах - PullRequest
0 голосов
/ 21 октября 2019

Как я могу передать строки символов (тире) в grid.draw, не теряя запятую всех моих столбцов? Рассмотрим небольшой кадр данных ниже:

library(gridExtra) 
tab1 <- structure(list(`Salmon` = c("salmon River", 
"Ant Creek", "big Creek", "oso River", "linda Creek"
), `baseline` = c(80874.384012, 361.1997, 5012.8311, 
638.6912, 402.104433333333), `target` = c(160000, 
720, 10000, 450, 800), `1992` = c(27618.4365, 0, 3587.61719, 
NA, NA), `1993` = c(100027.82328, NA, 5647.83116, NA, NA), `1994` = c(99414.57438, 
NA, 12896.93753, NA, NA), `1995` = c(235027.00518, NA, 32059.63037, 
NA, NA), `1996` = c(143004.6423, NA, 17191.2152, NA, NA), `1997` = c(112796.88894, 
NA, 27365.24435, NA, NA), `1998` = c(102858.8148, NA, 20539.17372, 
NA, NA), `1999` = c(94113.26562, NA, 21916.44213, NA, NA)), row.names = c(NA, 
-5L), class = c("tbl_df", "tbl", "data.frame"))

tab1
a <- tableGrob(format(tab1,big.mark=","))

 h <- convertHeight(grobHeight(a), "in", valueOnly=TRUE)
w <- convertWidth(grobWidth(a), "in", valueOnly=TRUE)

#big.mark works as expected here with NA's'
grid.draw(a)

Если я заменим NA на тире "-", как это:

tab1[is.na(tab1)] <- "-"

и вызову grid.draw снова:

grid.draw(tableGrob(format(tab1,big.mark=",")))

Я теряю форматирование запятой big.mark. Есть ли обходной путь для включения символов в таблицу?

Заранее спасибо

...