40, ] R 中这种过滤背后的算法是什么? 最佳答案 在执行代码 df[-6ren">
gpt4 book ai didi

r - R在数据帧过滤中使用的算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:08 24 4
gpt4 key购买 nike

例如,我有一个数据框,我想根据特定条件对其进行子集化:

df[df$gender == "woman" & df$age > 40, ]

R 中这种过滤背后的算法是什么?

最佳答案

在执行代码 df[df$gender == "woman"& df$age > 40, ] 期间,会发生以下情况:

  1. df$gender 提取。
  2. df$gender == "woman" 评估,返回 boolean 向量。
  3. df$age 提取。
  4. df$age > 40 评估,boolean 向量返回。
  5. 逻辑元素 AND 应用于第 2 步和第 4 步中向量的每个元素。
  6. df 中提取在步骤 5 中具有 TRUE 标志的行。

在所有上述情况下,调用后端 C\C++ 函数。例如。 [] 子集函数调用 subset.c 中的 do_subset .

您可以在 names.c 中研究 R 函数与它的 C 后端之间的映射。

详情可以咨询Accessing R Source

关于r - R在数据帧过滤中使用的算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52484580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com