У меня есть n фреймов данных, и я хочу создать одинаковую переменную для каждого из моих фреймов данных, заполненную соответствующим именем фрейма данных.
i.e.:
dataframe_a
var 1 | var 2 | var 3 | variable
x | x | x | dataframe_a
x | x | x | dataframe_a
x | x | x | dataframe_a
dataframe_b
var 1 | var 2 | var 3 | variable
x | x | x | dataframe_b
x | x | x | dataframe_b
x | x | x | dataframe_b
dataframe_c
var 1 | var 2 | var 3 | variable
x | x | x | dataframe_c
x | x | x | dataframe_c
x | x | x | dataframe_c
Существует два способа (ниже), которые я могуделать то, что я хочу для каждого кадра данных в отдельности.Однако как я могу превратить следующий код в цикл for, чтобы мне не приходилось писать его 100 раз?
(я использую dplyr :: mutate)
#Take a, b and c as separate dataframes
dataframe_a$variable <- paste("dataframe_a")
dataframe_b$variable <- paste("dataframe_b")
dataframe_c$variable <- paste("dataframe_c")
#or
dataframe_a %<>% mutate(variable = paste("dataframe_a"))
dataframe_b %<>% mutate(variable = paste("dataframe_b"))
dataframe_c %<>% mutate(variable = paste("dataframe_c"))
Я пробовал следующее, но это не работает
vector <- c("a", "b", "c")
for (i in vector){
df <- get(i)
assign(i, mutate(location = paste(i)), envir = .GlobalEnv)
}