我的数据看起来像这样:
A B C
1 a 1 ff
2 b 1 re
3 c 1 sd
5 a 2 as
6 c 4 fe
7 d 5 tt
8 d 5 tt
9 d 9 oi
我想添加一个新列D,它将包含所有数据中A列中元素重复的次数,如下所示:
A B C D
1 a 1 ff 2
2 b 1 re 1
3 c 1 sd 2
5 a 2 as 2
6 c 4 fe 2
7 d 5 tt 3
8 d 5 tt 3
9 d 9 oi 3
我不想像这个线程那样简化我的数据分组原始数据: https://stat.ethz.ch/pipermail/r-help/2011-March/270481.html
提前感谢您的帮助!
答案 0 :(得分:4)
您可以使用table
:
data <- read.table(text='A B C
a 1 ff
b 1 re
c 1 sd
a 2 as
c 4 fe
d 5 tt
d 5 tt
d 9 oi', header=T)
data$D <- table(data$A)[data$A]
答案 1 :(得分:3)
未经测试的代码,但这些内容应该有效 -
library(data.table)
dt <- data.table(df)
dt[,D := .N, by = 'A']