【问题标题】:nested functions: Arrange() and desc()嵌套函数:Arrange() 和 desc()
【发布时间】:2021-07-09 04:50:20
【问题描述】:

gapminder 是一个小标题,而 lifeExp 是一个变量名,我尝试使用两个函数arrange() 和 desc()。

这行得通:

gapminder %>% arrange(desc(lifeExp)) 

这不起作用:

gapminder %>% desc(arrange(lifeExp)

错误:未使用的参数 (arrange(lifeExp))

我不知道为什么,非常感谢任何帮助。

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我也是新手,不过好像每行代码的语法都不一样。

    gapminder %>%arrange(desc(lifeExp)) # 读作“tibble gapminder”,“然后”“排列”它“在“lifeExp”的“后代值”中

    gapminder %>% desc(arrange(lifeExp) # 读作"the tibble gapminder", "then" "in descendant order" "arrange it" by "lifeExp"。arrange 命令用于 tibble,而 a desc 是针对一个变量的。

    Espero me haya hecho entender 兄弟

    【讨论】:

      【解决方案2】:

      前面的答案或多或少是对的,但这是由于管道操作员 %>% 的性质造成的。

      管道获取左边的任何内容并将其作为第一个参数传递给右边的函数。如果您查看dplyr::desc 的文档,您会发现它只需要一个参数 x (要排列的向量),因此您的第二个示例相当于

      desc(gapminder, arrange(lifeExp))
      

      并且 R 在它期望的地方看到两个参数(因此出现错误消息)。

      arrange() 另一方面接受两个参数,所以你的第一个例子相当于:

      arrange(gapminder, desc(lifeExp))
      

      有效,因为 R 期望 arrange() 有两个参数,这就是它所看到的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-12
        • 2012-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多