我需要使用
我尝试了各种方法,包括传递参数的名称和点点点语法,但都无济于事。我需要知道是否有一种方法可以做到这一点,因为我需要将其扩展到更复杂的函数。
假设我有以下数据框,并且我想将每行的前两列粘贴在一起。我可以使用以下代码轻松完成此操作:
pmap
的变种来执行一些逐行操作,但是当涉及将参数列表(即“.l”参数)传递给嵌套在另一个函数内部的函数时,我无法这样做。我尝试了各种方法,包括传递参数的名称和点点点语法,但都无济于事。我需要知道是否有一种方法可以做到这一点,因为我需要将其扩展到更复杂的函数。
假设我有以下数据框,并且我想将每行的前两列粘贴在一起。我可以使用以下代码轻松完成此操作:
dff <- data_frame(
first = c("A", "B"),
second = c("X", "Y"),
third = c("L", "M")
)
df_easy <- dff %>%
mutate(joined_upper = pmap_chr(list(first, second), function(...) paste(..., sep = "&")))
df_easy
#> # A tibble: 2 x 4
#> first second third joined_upper
#> <chr> <chr> <chr> <chr>
#> 1 A X L A&X
#> 2 B Y M B&Y
然而,如果我想将前两个字母小写并合并它们,我的尝试会失败。我希望看看能否得到dff3。
# df_hard <- dff %>%
# mutate(joined_smaller = pmap_chr(list(first, second), function(...) paste(tolower(...), sep = "&")))
dff3 <- data.frame(
first = c("A", "B"),
second = c("X", "Y"),
third = c("L", "M"),
joined_smaller = c("a&X", "b&Y")
)
dff3
#> first second third joined_smaller
#> 1 A X L a&X
#> 2 B Y M b&Y
.[-1]
来选择除第一个元素以外的所有元素(如果有多列的话)。这里需要使用花括号,因为我们正在进行一些操作以提取组件。 - akrunfirst
是函数。(任何带有()
的东西)我应该提到它。 - akrun