首页 > 解决方案 > 为每个因子 R 创建“1 - 行数”的数组

问题描述

大脑和搜索让我失望。我有几个级别的因子,我们称它们为 A、B 和 C。

abc <- c("a", "a", "b", "c", "c", "c")

我想通过每个因子的数量将另一个数组标记为 1。

output <- c(1,2,1,1,2,3)

这是一个 for 循环工作,还是别的什么?

For 循环不是我的强项,我的尝试也失败了。

标签: rfor-loop

解决方案


一个选项base R是按顺序分组ave

ave(seq_along(abc), abc, FUN = seq_along)
#1] 1 2 1 1 2 3

或在data.table

library(data.table)
rowid(abc)

推荐阅读