如何在R中创建垂直排列的值 - 频率组合表

pro*_*ype 2 r frequency

如何创建垂直排列的值 - 频率组合表,

> df = data.frame(fruit=c("apple", "banana", "cherry", "cherry", "apple", "banana", "apple", "date"));
> table(df$fruit)

 apple banana cherry   date 
     3      2      2      1
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但我喜欢这样的东西(例如基于频率的基本操作和值的子集化):

Fruit   Freq
"apple"   3
"banana"  2
"cherry"  2
"date"    1
Run Code Online (Sandbox Code Playgroud)

在SQL中,那就是SELECT fruit, COUNT(*) AS Freq FROM df GROUP BY fruit,并且会产生一个类似于这个问题起点的表:https: //stats.stackexchange.com/questions/15574/how-to-convert-a-frequency-table-into-一个矢量-的值

R中有一个简单的方法吗?(或者,这是否表明心态太'SQL'且不够'R'?)

Jos*_*ien 6

data.frame(table(df))
#       df Freq
# 1  apple    3
# 2 banana    2
# 3 cherry    2
# 4   date    1
Run Code Online (Sandbox Code Playgroud)

也许

setNames(data.frame(table(df)), c("Fruit", "Freq"))
#    Fruit Freq
# 1  apple    3
# 2 banana    2
# 3 cherry    2
# 4   date    1
Run Code Online (Sandbox Code Playgroud)