用于在dplyr中安排功能的输入的数据格式

时间:2019-05-15 21:51:42

标签: r function types dplyr

给一个具有列monkeys的表brain_size,可以编写类似 arrange(monkeys, brain_size) 的内容。

我不明白这是什么意思- brain_size不是声明的变量(如果我引用它,则会出错)。它只是一列的名称-您不应该有arrange(monkeys, 'brain_size')吗? 不是列名只是一个字符串吗?

另一个相关的怪异现象

arrange(monkeys, desc(brain_size))

再一次, desc函数到底是什么?如何将brain_size作为输入?你不应该有类似arrange(monkeys, 'brain_size', desc = true)的东西吗?

我想念什么吗?也许brain_size在某种意义上是一个变量,但是只有在您明确地“ monkeys内”时,才能访问它。

1 个答案:

答案 0 :(得分:0)

dplyr动词期望您输入数据框,并将评估未加引号的列名称。函数将首先在数据中查找具有该名称(未加引号)的列,然后在全局环境中查找(如果没有匹配项)。基础R函数中的with()函数类似地接受未引用的列名with(mpg, mean(displ))

desc()是另一个dplyr动词,用于修改arrange()中的列。请注意节省的地方:

my_long_table_name <- mpg

my_long_table_name[order(my_long_table_name$displ, decreasing = TRUE),]

my_long_table_name %>% 
  arrange(desc(displ))