Мне нужно переименовать несколько столбцов в R, добавив один и тот же суффикс к имени каждого столбца. Я могу сделать это, скопировав функцию переименования и каждый раз подставляя имена переменных, но я хотел бы использовать более элегантное решение.
Кроме того, я делаю это для трех разных фреймов данных, которые все имеют те же столбцы, которые мне нужно переименовать, поэтому мой код становится длиннее. В идеале я бы все это сократил до l oop или что-то в этом роде. Вот что у меня есть:
# data frames df1, df2, df3, columns a, b, c, and d:
df1 <- rename(df1, "a.df1" = a)
df1 <- rename(df1, "b.df1" = b)
df1 <- rename(df1, "c.df1" = c)
df1 <- rename(df1, "d.df1" = d)
df2 <- rename(df2, "a.df2" = a)
df2 <- rename(df2, "b.df2" = b)
df2 <- rename(df2, "c.df2" = c)
df2 <- rename(df2, "d.df2" = d)
df3 <- rename(df3, "a.df3" = a)
df3 <- rename(df3, "b.df3" = b)
df3 <- rename(df3, "c.df3" = c)
df3 <- rename(df3, "d.df3" = d)
Это работает при переименовании столбцов так, как я хочу, но мне бы хотелось, чтобы это выглядело больше как:
for (i in list(df1, df2, df3)) {
for (j in c("a", "b", "c", "d")) {
rename(i, "j.i" = j)
}
}
Я пробовал несколько версии этого l oop и не могу заставить его работать. У кого-нибудь есть исправление?