这是我的数据框架
id ingredient1 ingredient2 ingredient3
1 apple milk cheese
5 pear apple
3 lettuces tomato salt
12 ribs tomato salt
20 cheese milk tomato
... ...
Run Code Online (Sandbox Code Playgroud)
这里有超过200行我知道如何通过表获取freq.但在这里,我真的不知道该怎么做.这是我想要的理想输出:
var freq
apple 2
milk 2
cheese 2
pear 1
lettuces 1
tomato 3
salt 2
ribs 1
... ...
Run Code Online (Sandbox Code Playgroud)
假设您想要所有"成分"列的总频率,我们通过删除第一列(df1[-1])来对数据集进行子集化,然后使用unlist它来vector获取并获取唯一元素的频率table.如果你需要data.frame输出,我们可以用它包装as.data.frame.
res <- as.data.frame(table(unlist(df1[-1])))
Run Code Online (Sandbox Code Playgroud)
我''在配料栏中找到了一些空白元素.如果你想删除它,
subset(res, Var1!='')
# Var1 Freq
#2 apple 2
#3 cheese 2
#4 lettuces 1
#5 milk 2
#6 pear 1
#7 ribs 1
#8 salt 2
#9 tomato 3
Run Code Online (Sandbox Code Playgroud)