迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

R 中的观测值计数

作者:迹忆客 最近更新:2023/03/21 浏览次数:

在现实生活中,我们要处理大量的数据集。这可能会超过数百个观测值,有时可能需要从整体中提取一些特定的数据。

对于这样的情况,我们在 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

R 中具有多个条件的函数向量化

发布时间:2023/03/21 浏览次数:64 分类:编程语言

一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更

在 R 中读取 xlsx 文件

发布时间:2023/03/21 浏览次数:66 分类:编程语言

在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。

清理 R 的环境

发布时间:2023/03/21 浏览次数:178 分类:编程语言

在本教程中,你将学习如何在 R 中编写一个函数,在不需要重新启动 R 的情况下清除环境。

在 R 中注释掉多行

发布时间:2023/03/21 浏览次数:63 分类:编程语言

在本文中,你将学习如何在 R 中注释出多行,而不必在每一行的开头手动写一个#字符来注释。

在 R 中清除内存

发布时间:2023/03/21 浏览次数:197 分类:编程语言

在本教程中,你将学习如何清除 R 系统占用的内存,而不必重新启动它或重新启动它运行的计算机。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便