给一个具有列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
内”时,才能访问它。
答案 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))