我正在尝试在函数内使用数据框的名称创建一个新列。
这是我的代码:
df1 <- data.frame(var1 = seq(1:10))
df2 <- data.frame(var2 = seq(1:10))
df3 <- data.frame(var3 = seq(1:10))
df_LIST <- tibble::lst(df1, df2, df3)
df_FUN <- lapply(
df_LIST,
function(x)
{
mutate(x,
df_NAME = deparse(substitute(x))
) %>%
select("df_NAME") %>%
na.omit()
}
)
list2env(df_FUN, .GlobalEnv)
Run Code Online (Sandbox Code Playgroud)
结果:
> df1
df_NAME
1 x
2 x
3 x
4 x
5 x
6 x
7 x
8 x
9 x
10 x
Run Code Online (Sandbox Code Playgroud)
预期结果:
> df1
df_NAME
1 df1
2 df1
3 df1
4 df1
5 df1
6 …
Run Code Online (Sandbox Code Playgroud)