0

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

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

通常,我只是以未命名的形式传递参数,但最近我一直在努力使我的代码尽可能健壮,并且当您尝试在 apply 函数中使用这些别名(或在我的情况下为 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”的正式名称。

4

1 回答 1

1

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

use_series
# .Primitive("$")

原始函数不像用户定义的$函数那样有正式的参数名称。extract2在这种情况下会更容易使用

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

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

于 2015-06-01T18:42:28.277 回答