如何使用 Pander 对 table 的单元格进行排序
How to order cells of a table using Pander
我正在使用 pander 函数在 R markdown 中制作我的表格,但在以不合逻辑的方式对单元格进行排序时遇到了一些麻烦。
here is a screenshot of my r Markdown
如您所见,它是根据第一个数字而不是整数的值排序的。
这是我的脚本:
income.frequency.table <- xtabs(~income, data=iceland)
pander(income.frequency.table)
任何帮助将不胜感激。我对 R 和一般编码非常陌生,如果我错过了一些非常明显的东西,我深表歉意!
提前致谢。
标签是恰好是数字的字符,因此排序是词汇的,而不是数字的。这就是为什么例如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
我正在使用 pander 函数在 R markdown 中制作我的表格,但在以不合逻辑的方式对单元格进行排序时遇到了一些麻烦。 here is a screenshot of my r Markdown 如您所见,它是根据第一个数字而不是整数的值排序的。 这是我的脚本:
income.frequency.table <- xtabs(~income, data=iceland)
pander(income.frequency.table)
任何帮助将不胜感激。我对 R 和一般编码非常陌生,如果我错过了一些非常明显的东西,我深表歉意! 提前致谢。
标签是恰好是数字的字符,因此排序是词汇的,而不是数字的。这就是为什么例如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