magrittr别名的正式参数名称

时间:2015-06-01 18:32:48

标签: r alias plyr pipeline magrittr

我想知道是否有人知道或者可以帮我找到所有magrittr别名函数的正式参数名称。例如,我知道' set_colnames'是'价值'。

df <- data.frame(1:3, 4:6, 7:9) %>%
  set_colnames(value = c('a', 'b', 'c')

通常情况下,我只是以未命名的方式传递参数,但最近我一直试图让我的代码尽可能健壮,当你尝试在内部使用这些别名时它也很有帮助。一个应用函数(或在我的情况下llply)。我遇到的问题是我有一个类似的df列表,我想从每个列中提取相同的列,但仍保留列表格式。

df_list <- list(data.frame('a' = 1:3, 'b' = 4:6), 
                data.frame('a' = 7:9, 'b' = 10:12))

我想做的是像

df_b <- df_list %>%
  llply(.fun = use_series, b)

但是这不起作用,因为我不知道要传递给“use_series”的正式名称。

1 个答案:

答案 0 :(得分:1)

use_series只是$的别名。您可以通过键入不带括号的函数名称来查看

use_series
# .Primitive("$")

$原语函数没有与用户定义函数相同的正式参数名称。在这种情况下使用extract2

会更容易
df_b <- df_list %>%
  llply(.fun = extract2, "b")

请注意,在这种情况下,您将列名称作为字符值而不是符号传递。我learned before $使用apply系列函数很棘手。