我有这个数据框和函数。
df <- tibble(
a = "a",
b = "b",
c = "c",
d = "d",
e = "e",
f = "f",
g = "g"
)
pmap(df, function(a, b, c, d, e, f, g) {
var_1 <- paste0(a, b)
var_2 <- c + d + e
var_3 <- f/g
tibble(
a = var_1
b = var_2
c = var_3
)
})
该函数按预期工作。由于列名可能超过七个,我不想在function()
内编写所有列名。有什么办法吗?
所需类似代码:
pmap(df, function(names(df)) {
var_1 <- paste0(a, b)
var_2 <- c + d + e
var_3 <- f/g
tibble(
a = var_1
b = var_2
c = var_3
)
})
purrr::pmap(df, paste0)
?Base R:do.call(paste0, df)
。 - Rui Barradaspaste0
只是一个例子,实际情况更为复杂。我确实需要在function()
内部获取列名。 - Alvaro Moralespmap(select(df, a:g), paste0)
。 - tmfmnkpaste0
,那就可以运行,但这并不是真实情况。请参见上文。 - Alvaro Morales