r - 如何对组中的每个元素做某事

标签 r

假设我有一个这样的数据框

a b c
1 2 3
1 3 4
1 4 5
2 5 6
2 6 7
3 7 8
4 8 9

我想要的是以下内容:

a b c d
1 2 3 a
1 3 4 b
1 4 5 c
2 5 6 a
2 6 7 b
3 7 8 a
4 8 9 a

本质上,我想做一个循环,对于 a 列的每个组,我想创建一个新列,按顺序将字母从 a 循环到 z。第 1 组有三个元素,所以字母从“a”到“c”。第 3 组和第 4 组只有 1 个元素,因此该字母仅分配为“a”。

最佳答案

data.table 选项是

library(data.table)
setDT(dd)[, d:= letters[seq_len(.N)], by = a]

关于r - 如何对组中的每个元素做某事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33862223/

相关文章:

r - 如何在特定嵌套级别选择列表的所有元素?

r - 不同的输出格式摘要(X$Y)与摘要(X)

r - 转置 data.frame 并计算每列的非 NA 值

r - 如何在R中使用glmnet计算套索回归的R平方值

r - 找不到函数 ".getNamespace"

r - 生成 parquet 文件 - R 和 Python 之间的差异

r - 将 tidymodels 配方包装到函数中

mysql - 我有一个包含一组数据的表,我想使用 Mysql : 显示其中的特定记录

r - 将单位标签添加到 ggplot2 中的颜色渐变图例

r - 用户选择主题 R Shiny ggplot