Как заказать ячейки таблицы с помощью 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
Другие вопросы по тегам