gpt4 book ai didi

r - dplyr 之间如何工作?

转载 作者:行者123 更新时间:2023-12-02 20:11:07 24 4
gpt4 key购买 nike

我已阅读文档并尝试用谷歌搜索它;这应该是一件简单的事情,但对我来说似乎不是;所以我大胆地问这里是否有人可以解释一下 dplyr 的 Between() 是如何工作的。

# Explanation documentation
between(x, left, right)

x A numeric vector of values
left, right: Boundary values

我知道向量是一维数组,所以我认为 c(1:7) 是一个向量,对吗?我尝试使用文档中提供的示例作为模板来搜索 7 月至 9 月的航类,但以下内容仅返回错误:

# Example from documentation cont’d
x <- rnorm(1e2)
x[between(x, -1, 1)]

# Loading the library
library(nycflights13)

# Execute my hopeless attempt at between()
flights[between(month, 7, 9)]

# Output and error message
> flights[between(month, 7, 9)]
Error in between(month, 7, 9) : object 'month' not found

我觉得问这个问题真的很愚蠢,但是任何帮助理解这一点的帮助都将不胜感激。我还要为没有提出明确的问题而道歉;正如您可能会意识到的那样,除了“我不明白”之外,我真的不知道如何表达它。

最佳答案

Between 没什么特别的——R 中的任何其他函数都会导致同样的问题。您的困惑源于这样一个事实: dplyr 有很多函数可以让您像普通变量一样处理 data.frame 列名称;例如:

filter(flights, month > 9)

但是, Between 不是这些函数之一。如前所述,这只是一个正常功能。所以如果你想使用它,你需要按照常规方式提供参数;例如:

between(flights$month, 7, 9)

这将返回一个逻辑向量,您现在可以使用它来索引您的 data.frame:

flights[between(flights$month, 7, 9), ]

或者,更像 dplyr:

flights %>% filter(between(month, 7, 9))

请注意,此处我们现在使用非标准评估。但评估是由 filter 执行的,而不是由 Between 执行的。使用标准评估来调用(由filter) Between

关于r - dplyr 之间如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39997225/

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