计算R数据帧中特定字符串的数量

时间:2017-06-29 19:59:05

标签: r string dataframe count unique

我有一个包含许多列的数据框,但我感兴趣的两个列是major和department。我需要找到一种方法来计算列中特定条目的数量。所以我的数据框看起来像

student_num    major          dept
123            child          education
124            child          education
125            special        education
126            justice        administration
127            justice        administration
128            justice        administration
129            police         administration
130            police         administration

我想要的是每个专业和部门的学生数量。像

这样的东西
education   child   special    administration    justice    police
3           2       1          5                 3          2

我尝试了几种方法,但没有什么是我需要的。我尝试使用了聚合()函数和来自plyr的ddply(),但是它们给了我两个部门 - 两个独特的条目,教育和管理。如何计算每个唯一条目,而不是有多少个唯一条目?

2 个答案:

答案 0 :(得分:4)

您可以尝试:

library(dplyr)
count(my_dataframe, major)
count(my_dataframe, dept)

答案 1 :(得分:1)

# Create example data frame
dt <- read.table(text = "student_num    major          dept
123            child          education
                 124            child          education
                 125            special        education
                 126            justice        administration
                 127            justice        administration
                 128            justice        administration
                 129            police         administration
                 130            police         administration",
                 header = TRUE, stringsAsFactors = FALSE)

# Select columns
dt <- dt[, c("major", "dept")]

# Unlist the data frame
dt_vec <- unlist(dt)

# Count the number
table(dt_vec)

dt_vec
administration          child      education        justice         police 
             5              2              3              3              2 
       special 
             1