获取数据框中特定分类变量的计数

问题描述

我有以下数据框

cars <- c("Toyota","Nissan","BMW","Ford","Toyota","Nissan")
price <- c(21000,23400,26800,21000,21000)
salesDF <- data.frame(cars,price)

我想获取“Nissan”在 cars 列中出现的次数次数,并将其存储在 Shiny 的 valueBox 中。我怎样才能得到那个特定的计数?在这种情况下,如何根据“Nissan”出现的次数获得值 3

解决方法

有很多方法可以做到这一点,以下是其中几种:

var = 'Nissan'
#1.
value <- sum(salesDF$cars == var)
value
#[1] 3

#2.
value <- nrow(subset(salesDF,cars == var))
,

使用 table 获取所有计数,使用 subset 获取所需计数:

counts <- as.data.frame(table(salesDF$cars))

print(counts)
##     Var1 Freq
## 1    BMW    1
## 2   Ford    1
## 3 Nissan    3
## 4 Toyota    2

print(subset(counts,Var1 == 'Nissan',select = -Var1))
##   Freq
## 3    3