如果有人能告诉我为什么会发生以下情况,以及如何纠正,我将不胜感激。
我使用expss包创建一个表,如下所示:
table <- dta %>%
tab_cells(dta[["x"]]) %>%
tab_rows(factor(dta[["y"]], ordered=TRUE)) %>%
tab_weight(dta[["weight"]]) %>%
tab_stat_cpct(total_statistic = "w_cpct") %>%
tab_pivot() %>%
split_columns()
字符串
我输入factor(dtay,ordered=TRUE),以便因子在表中排序。对于我的其他变量,这是有效的,但不知何故,不与这个。
如果我只在控制台中输入factor(dtay,ordered=TRUE),它会正确返回
Levels: 537 < 564 < 650 < 1010
型
然而,如果我使用上面的函数来创建一个数据表,那么不管出于什么原因,它的顺序如下:
1010 537 564 650
我该怎么做才能使它的顺序正确呢?
这是一个重新创建问题的示例数据集:
dta <- data.frame(x = c(1,1,1,2,1,1,1,1,1,1,1,2,1,2,2,2,1,1,2,2),
y = c(1010,650,650,537,650,650,650,650,564,650,650,650,564,564,564,564,650,650,564,564),
weight = c(42.066290,3.126177,3.808385,4.812877,8.093253,1.559941,6.168395,2.419531,3.937412,4.293246,20.445602,16.504405,1.314727,2.474295,2.274015,2.668155,3.864480,2.521209,2.605202,2.194348))
型
提前感谢!
1条答案
按热度按时间vdzxcuhz1#
是的,这是
expss
中的一个bug。您可以使用排序解决方法,根据数值对表重新排序:字符串