Verilerle yeni bir sütun oluşturun.benzersiz değerleri sayan tablo

0

Soru

KİMLİK
1
1
2
3
3
3
3

Benzersiz 1'leri, 2'leri, 3'leri vb. Sayan ve bunları özetleyen veri tablosu içeren ek bir sütun oluşturmak istiyorum. Son dat.masa şöyle olurdu

KİMLİK Sayım
1 2
1 2
2 1
3 4
3 4
3 4
3 4

Bunu deniyorum ama işe yaramıyor:

df[, CountID := uniqueN(df, by = ID)]
calculated-columns data.table r
2021-11-14 17:39:26
2

En iyi cevabı

0

veri.masa

Kullanabilirsiniz .N bunun için:

library(data.table)
DT[, CountID := .N, by = ID]
DT
#       ID CountID
#    <int>   <int>
# 1:     1       2
# 2:     1       2
# 3:     2       1
# 4:     3       4
# 5:     3       4
# 6:     3       4
# 7:     3       4

taban R

DT$CountID2 <- ave(rep(1L, nrow(DT)), DT$ID, FUN = length)

Veri

DT <- setDT(structure(list(ID = c(1L, 1L, 2L, 3L, 3L, 3L, 3L), CountID = c(2L, 2L, 1L, 4L, 4L, 4L, 4L)), class = c("data.table", "data.frame"), row.names = c(NA, -7L)))
2021-11-14 19:03:33
0

Kullanım dplyr paket

df1 = group_by(df, id) %>% count()
merge(df, df1)
   id n
1   1 3
2   1 3
3   1 3
4   2 1
5   3 4
6   3 4
7   3 4
8   3 4
9   4 2
10  4 2

Veri

df = data.frame('id' = c( 1  , 1  , 1, 2, 3, 3, 3, 3, 4, 4))
2021-11-14 17:46:30

Verilerle yapabilir miyim?tablo ve: = sembolü?
Dani

Değil iyi usta ile data.table
Nad Pat

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................