将数据帧列转换为R中的频率分布

将数据帧列转换为R中的频率分布,r,count,frequency,R,Count,Frequency,我最近开始研究R中的一些统计问题,我有一个疑问。我通常用python编写代码,发现“collections.Counter”函数非常有用。然而,我并没有在R中发现任何类似的命令,这是令人惊讶的,因为频率在统计中被大量使用 例如,我有这个表(数据框)- 我想把这个放在R- value frequency 1 2 2 3 3 2 4 2 5 1 我希望这能说明我想做什么。。 谢谢你的帮助 为了便于说明,在python中我可

我最近开始研究R中的一些统计问题,我有一个疑问。我通常用python编写代码,发现“collections.Counter”函数非常有用。然而,我并没有在R中发现任何类似的命令,这是令人惊讶的,因为频率在统计中被大量使用

例如,我有这个表(数据框)-

我想把这个放在R-

value    frequency
    1    2
    2    3
    3    2
    4    2
    5    1
我希望这能说明我想做什么。。 谢谢你的帮助

为了便于说明,在python中我可以这样做-

df_c2 = [2,3,1,3,2,4,1,2,4,5]
counter=collections.Counter(df$c2)
print (counter)

and get this - Counter({2: 3, 1: 2, 3: 2, 4: 2, 5: 1})
which I can manipulate using loops.

最简单的方法是使用
table()
,它返回一个命名的
vector()

您可以像这样返回
data.frame

> data.frame(table(df$c2))
  Var1 Freq
1    1    2
2    2    3
3    3    2
4    4    2
5    5    1
当然,您也可以使用像“tidyverse”这样的软件包

库(tidyverse)
df%>%
选择(c2)%>%
组别(c2)%>%
总结(freq=n())
##tibble:5 x 2
#c2频率
#    
# 1     1     2
# 2     2     3
# 3     3     2
# 4     4     2
# 5     5     1

您可以使用
表格(df$c2)
功能。它有助于了解如何查看。
table
函数是您在
help.search(“frequency”,package=c(“base”,“stats”))
中的“frequency”短语的第一个热门功能。我很同情您的问题:
table(…)
函数是所有R中名称最差的函数之一,而且它的列表很长。如果你只是在学习R,你可能会发现这个网站很有用。很抱歉,我忘记了这个问题,然后看到一个“热门问题徽章”弹出!最后我确实使用了table函数,它完全满足了我的需要。谢谢,回答得很好!我忘了我问过这个问题!
> table(df$c2)

1 2 3 4 5 
2 3 2 2 1 
> data.frame(table(df$c2))
  Var1 Freq
1    1    2
2    2    3
3    3    2
4    4    2
5    5    1
library(tidyverse)
df %>% 
  select(c2) %>% 
  group_by(c2) %>% 
  summarise(freq = n())
# # A tibble: 5 x 2
#      c2  freq
#   <int> <int>
# 1     1     2
# 2     2     3
# 3     3     2
# 4     4     2
# 5     5     1