0

我正在使用 pander 函数在 R markdown 中制作表格,但是在以不合逻辑的方式对单元格进行排序时遇到了一些麻烦。 这是我的 r Markdown 的屏幕截图 如您所见,它是基于第一个数字而不是整数的值进行排序的。这是我的脚本:

income.frequency.table <- xtabs(~income, data=iceland)
pander(income.frequency.table)

任何帮助将非常感激。我对 R 和编码很陌生,所以如果我错过了一些非常明显的东西,我深表歉意!提前致谢。

4

1 回答 1

0

标签是恰好是数字的字符,因此排序是词法的,而不是数字的。这就是为什么 eg1900000先于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
于 2016-06-09T00:20:55.727 回答