R 中的观测值计数
在现实生活中,我们要处理大量的数据集。这可能会超过数百个观测值,有时可能需要从整体中提取一些特定的数据。
对于这样的情况,我们在 R 中有一些方法,可以辅助统计这些过滤后的数据的总观测值。我们将在本教程中使用以下 DataFrame。
df <- data.frame( gender = c("M","F","M","M"),
age = c(18,19,14,22),
stream = c("Arts","Science","Arts","Commerce"))
print(df)
输出:
gender age stream
1 M 18 Arts
2 F 19 Science
3 M 14 Arts
4 M 22 Commerce
第一个方法涉及 with()
和 sum()
函数。
with()
函数在应用于整个数据集后,根据某个表达式返回一个逻辑向量,而 sum()
函数将返回所有 True
观测值的总和。
下面的代码片段将展示如何工作。
df <- data.frame( gender = c("M","F","M","M"),
age = c(18,19,14,22),
stream = c("Arts","Science","Arts","Commerce"))
sum(with(df,gender == "M"))
[1] 3
我们还可以使用&
运算符添加多个表达式。
sum(with(df,gender == "M" & stream == "Commerce"))
[1] 1
另一种方法涉及使用 nrow()
函数,它返回数据集中的行数。我们可以从 DataFrame 中筛选出所需的观测值,如下图所示。
nrow(df[df$gender == "M",])
[1] 3
同样,我们可以添加多个表达式,就像我们在 with()
函数中做的那样。
nrow(df[df$gender == "M" & df$stream == "Commerce",])
[1] 1
我们也可以使用 dplyr
库中提供的 filer()
函数。这将根据一些条件返回一个数据的子集。下面的例子解释了如何操作。
library(dplyr)
nrow(filter(df,gender == "M"))
[1] 3
nrow(filter(df,gender == "M" & stream == "Commerce"))
[1] 1
相关文章
R 中具有多个条件的函数向量化
发布时间:2023/03/21 浏览次数:64 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
在 R 中读取 xlsx 文件
发布时间:2023/03/21 浏览次数:66 分类:编程语言
-
在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。