将列添加到数据框,该数据框索引组中出现的次数 [英] Add a column to a data frame that index the number of occurrences in a group
本文介绍了将列添加到数据框,该数据框索引组中出现的次数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出这样的数据框
Unit Anything
A 3.4
A1 2.2
A 6.9
A1 1.1
B 2
B 3
排序通过任何东西,逐个单位,添加一个索引
Sort by anything, group by unit, add an index
Unit Anything Index
A 3.4 1
A1 2.2 2
A 6.9 2
A1 1.1 1
B 2 1
B 3 2
我知道 df [order(df $ Anything),]
订单任何
。
但我无法计算工作量。我试过像
I know df[order(df$Anything),]
orders by Anything
.
But I can't get a count to work. I tried stuff like
dt = data.table(df)
dt[,count := .N, by = list(Unit)]
推荐答案
阅读相关主题后通过反复试验,以下似乎有效....
ref:添加等级列到数据框
After reading the related topics, by trial and error, the following seems to work.... ref: Add a "rank" column to a data frame
df <- read.table(header = TRUE, text = "
Unit Anything
A 3.4
A1 2.2
A 6.9
A1 1.1
B 2
B 3
")
df <- transform(df, x= ave(Anything,Unit,FUN=function(x) order(x,decreasing=F)))
df
Unit Anything x
1 A 3.4 1
2 A1 2.2 2
3 A 6.9 2
4 A1 1.1 1
5 B 2.0 1
6 B 3.0 2
这篇关于将列添加到数据框,该数据框索引组中出现的次数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文