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