xtable форматирует каждый столбец по-разному

Я пытаюсь создать сводку своей таблицы с помощью summaryBy, которая выглядит следующим образом.

year   qtr   FX_mean     FX_median
2000    1     1000000      1000000
2000    2     2000         1000
2000    3     3000         2000

FX_mean и FX_median являются валютой. Я отправляю его в xtable, а затем печатаю в файл LaTeX. Теперь, когда я форматирую, я смог получить FX_mean и FX_median с двумя десятичными точками. Но так как это валюта, я хочу "," после каждой тысячи, т.е. 1 000 000. Я пытался использовать что-то вроде

 format.args = list(big.mark = ",", decimal.mark = "."))

print(result, type="latex", file="output.tex", include.rownames=FALSE, booktabs = TRUE, floating = FALSE, format.args = list(big.mark = ",", decimal.mark = "."))

Но это относится ко всему фрейму данных и даже к годам - ​​так что я вижу 2000 ... 2007 и т. д. Есть ли способ применить big.mark только к FX_mean и FX_median?

year   qtr     FX_mean          FX_median
2000    1     1,000,000.00      1,000,000.00
2000    2     2,000.00         1,000.00
2000    3     3,000.00         2,000.00

person rajvijay    schedule 11.08.2014    source источник


Ответы (1)


Кажется, что это невозможно напрямую, потому что format.args применяется к каждому столбцу, вы не можете указать его как список, с одним элементом для каждого столбца. Вот соответствующий код из print.xtable: https://github.com/cran/xtable/blob/master/R/print.xtable.R#L567

Таким образом, обходным путем является преобразование этого столбца в символ перед передачей таблицы xtable:

mytab$FX_mean <- format(mytab$FX_mean, big.mark = ",", decimal.mark = ".")

и аналогично для другого столбца.

person Gabor Csardi    schedule 11.08.2014