如何获得变量的频率

时间:2016-09-13 21:02:27

标签: r frequency

所以,我试图制作一个条形图,但是在获取每个变量的频率方面遇到了麻烦。在我的csv文件中,我有一个列(称为" Clade"),其中每个单元格都有一个变量(请注意,每个变量可以出现在多个单元格中)。还有一个名为" Total"其中每个单元格是对应于第一列中的单元格的数值(两个单元格都在同一行中)。我想要做的是计算" Clade"中每个变量的频率。列考虑到" Total"中的数值。柱。例如," Clade"中的一个变量。出现3次,但与三者中的一个相关的数值是23.任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

如果我的问题正确,您希望在变量中查看值的频率,将此变量作为列Clade以及单元格中此变量的每个值。

我会做一个可重复的示例,因此您可以根据自己的特定需求进行调整:

library(dplyr)

set.seed(1)

values <- c('one', 'two', 'three', 'four', 'five')
df <- data.frame(clade =sample(values, size = 1000, replace = TRUE),
                 total = rnorm(1000, mean = 0, sd = 1))

# find create a column with the frequency values for each clade variable value
df <- df %>% 
  group_by(clade) %>% 
  mutate(freq = n()/nrow(.))

# plot the frequencies
barplot(prop.table(table(df$clade)))

此代码的作用是首先复制您所引用的数据,然后我在您的数据框中创建一个名为freq的变量,该变量显示Clade变量值的相对频率数据。最后,我绘制了Clade变量值的相对频率。