更改xtab中的顺序

时间:2016-05-15 20:59:01

标签: r

样本data.frame

df <- structure(list(region = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 
                                          2L, 2L, 2L, 2L), .Label = c("a", "b", "c", "d"), class = "factor"), 
                     result = c(0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L), weight = c(0.126, 
                                                                                        0.5, 0.8, 1.5, 5.3, 2.2, 3.2, 1.1, 0.1, 1.3, 2.5)), .Names = c("region", 
                                                                                                                                                       "result", "weight"), row.names = c(NA, 11L), class = "data.frame")

df$region <- factor(df$region)
result <- xtabs(weight ~ region + result, data=df)
result

我如何改变xtab的顺序(我不想切换之前询问过的轴)?例如,确保1始终是第一个resultb是第一个区域。

如果有人有任何想法,我将不胜感激。我正在对这些数据进行一些后续统计,我需要确保我的价值观是正确的。

1 个答案:

答案 0 :(得分:3)

使用relevel尝试以下操作,它会重置因子的基本级别:

df$region <- relevel(df$region, "b")  
xtabs(weight ~ region + result, data=df)

如果您想订购多个级别,最好的方法是在首次使用factor时初步设置这些:

df$region2 <- df$region <- factor(df$region, levels=c("b", "c", "a"))

或您想要的任何顺序。