df = data.frame(A=c("a", "b", "a", "a", "a", "a", "b", "c"))
> df A 1 a 2 b 3 a 4 a 5 a 6 a 7 b 8 c
dplyr パッケージの group_by() と mutate() を使うと良いらしい。
以下で B 列が =countif(A$1:A1,A1) 相当、 C 列が =countif(A$1:A$最終行, A1) 相当となる。
以下で B 列が =countif(A$1:A1,A1) 相当、 C 列が =countif(A$1:A$最終行, A1) 相当となる。
result = df %>% group_by(A) %>% mutate(B=1:length(A), C=length(A))
> result # A tibble: 8 x 3 # Groups: A [3] A B C <fct> <int> <int> 1 a 1 5 2 b 1 2 3 a 2 5 4 a 3 5 5 a 4 5 6 a 5 5 7 b 2 2 8 c 1 1
タグ
コメントをかく