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

Counting number of specific strings in an R data frame

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

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 的 aggregate() 函数和 ddply() ,但他们给我的部门是两个 - 对于两个独特的条目,教育和管理。我如何计算每个唯一条目而不是有多少个唯一条目?

# 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

你可以试试:

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