我知道combine(groupby(df, :A), nrow=>:count)
要计算不同的行数:A
。:B
但是,获取不同的唯一值的数量的正确实现应该是什么:A
?基本上,我正在寻找 R: 的对应项df %>% group_by(A) %>% summarize(n_unique = n_distinct(B))
。谢谢!
我认为你应该能够做到
\ncombine(groupby(df, :A), :B => length \xe2\x88\x98 unique => :n_distint_B)\n
Run Code Online (Sandbox Code Playgroud)\n像这样:
\njulia> using DataFrames\n\njulia> df = DataFrame(a = rand(["a", "b"], 20), b = rand(1:5, 20))\n20\xc3\x972 DataFrame\n Row \xe2\x94\x82 a b \n \xe2\x94\x82 String Int64 \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n 1 \xe2\x94\x82 a 3\n 2 \xe2\x94\x82 b 4\n 3 \xe2\x94\x82 a 1\n 4 \xe2\x94\x82 a 1\n 5 \xe2\x94\x82 b 1\n 6 \xe2\x94\x82 a 2\n 7 \xe2\x94\x82 b 4\n 8 \xe2\x94\x82 a 2\n 9 \xe2\x94\x82 b 2\n 10 \xe2\x94\x82 b 1\n 11 \xe2\x94\x82 b 3\n 12 \xe2\x94\x82 b 3\n 13 \xe2\x94\x82 a 4\n 14 \xe2\x94\x82 a 4\n 15 \xe2\x94\x82 b 3\n 16 \xe2\x94\x82 b 2\n 17 \xe2\x94\x82 a 5\n 18 \xe2\x94\x82 a 5\n 19 \xe2\x94\x82 b 5\n 20 \xe2\x94\x82 a 1\n\njulia> combine(groupby(df, :a), :b => length \xe2\x88\x98 unique => :n_distinct_b)\n2\xc3\x972 DataFrame\n Row \xe2\x94\x82 a n_distinct_b \n \xe2\x94\x82 String Int64 \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n 1 \xe2\x94\x82 a 5\n 2 \xe2\x94\x82 b 5\n
Run Code Online (Sandbox Code Playgroud)\n