r - 如何在 Base 中生成 "Unbalanced"(不等)因子水平?

标签 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 中,是否有灵活的函数或策略来产生“不平衡”(不平等)因子水平?

最佳答案

您可以将 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

关于r - 如何在 Base 中生成 "Unbalanced"(不等)因子水平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44332917/

相关文章:

r - 使用 R 中的 dplyr 库到 "print"非 NA 列的名称

r - 如何列出R中的所有图形顶点属性?

javascript - 将 JQuery 函数移至函数内部,然后从多个函数访问它

php - 将数组定义为函数调用的一部分是不好的做法吗?

r - 如何为成对的 TukeyHSD 生成紧凑的字母显示

r - 使用 ezANOVA 输出进行事后测试

r - 为什么此 R ggplot2 代码会显示空白显示设备?

javascript - 多个 JavaScript 函数无法正常工作

python - f_oneway 当数据为列表形式时

使用 stringr 和 dplyr 重命名所有数据框列