2
我想要以5%的增量显示数据,例如5-10%,10-15%等。为此,我有一个数据框来存储它们作为一个因素,水平是该范围的中点,标签是要显示的范围。例如,12.5级将被标记为10-15%。使用DT包的数据表中的订购因子
但是,我遇到了麻烦使用数据表正确排序。
library('DT')
example <- data.frame(name = c('A', 'B', 'C', 'D'),
value = factor(c(7.5, 12.5, 7.5, 17.5),
levels = c(7.5, 12.5, 17.5),
labels = c('5-10%', '10-15%', '15-20%')))
datatable(example,
rownames = FALSE,
options = list(order = list(1, 'asc')))
正如你所看到的,这似乎是整理过的字符串的第一个数字的,而不是由因子的水平排序。
关于如何让数据表排除因子水平而不是字符串的任何想法? (除了在将数据帧传递到数据表之前对其进行排序 - 我希望通过单击排序箭头可以在任何方向上正确排序)
您可以考虑对您的值使用“cut”函数。这会为您生成一个正确排序的因子。 – Heroka
您可以使用'labels = c('5-10%','10 -15%','15 -20%')'而不是 – rawr
NicE和rawr的解决方案都适用于我的特定数据。谢谢您的帮助! – Sam