如何在Base R中生成“不平衡”(不等)因子水平?

时间:2017-06-02 15:51:15

标签: r function anova t-test

背景:

我通常使用gl()为一组随机变量生成“相等”数量的因子水平。例如,要在2中为60随机变量生成x因子级别,请使用以下内容:

x = rnorm(n = 60)
groups = gl( 2, length(x)/2 ) ## My Factor Levels

但是,上面,我不允许为40中的第一个40元素生成x个因子级别,并为最后一个生成20个因子级别20中的x元素(即 “不平衡”(不相等)因素级别 )。

问题:

在基础R中,是否有灵活的功能或策略来产生“不平衡”(不相等)因子水平?

1 个答案:

答案 0 :(得分:3)

您可以将rep与向量值times参数一起使用:

x <- factor( rep(1:3, times=c(5,10,2)) )
x

这给出了:

[1] 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
Levels: 1 2 3