Как заказать ячейки таблицы с помощью Pander
Я использую функцию pander, чтобы сделать мои таблицы в уценке R, но у меня есть некоторые проблемы с упорядочением ячеек в нелогичной форме. Вот скриншот моей r Markdown. Как видите, это порядок, основанный на первой цифре, а не на значении целого числа. вот мой сценарий:
income.frequency.table <- xtabs(~income, data=iceland)
pander(income.frequency.table)
Любая помощь могла бы быть полезна. Я очень плохо знаком с R и программированием в целом, поэтому прошу прощения, если я пропустил что-то очень очевидное! Заранее спасибо.
1 ответ
Решение
Метки - это символы, которые просто являются числами, поэтому сортировка является лексической, а не числовой. Вот почему, например, 1900000
предшествует 400000
; так как 1
предшествует 4
,
Общее решение этого состоит в том, чтобы сделать текст упорядоченным фактором. Намеченный заказ будет сохранен.
x <- c("4", "10")
sort(x) # unexpected
# [1] "10" "4"
y <- ordered(x, levels = c("4", "10"))
sort(y) # as intended
# [1] 4 10
# Levels: 4 < 10