Я хочу изменить содержимое столбца фрейма данных так, чтобы содержимое ячейки начиналось с префикса имени столбца:
> x <- data.frame(VarX = rep(c("A","B"),2), VarY = rep(c("C","D"),2))
> x
VarX VarY
1 A C
2 B D
3 A C
4 B D
> x$VarX <- paste0("VarX", x$VarX)
> x$VarY <- paste0("VarY", x$VarY)
> x
VarX VarY
1 VarXA VarYC
2 VarXB VarYD
3 VarXA VarYC
4 VarXB VarYD
, но в общем.Самое близкое, что я получил, это:
x <- data.frame(VarX = rep(c("A","B"),2), VarY = rep(c("C","D"),2))
columns = c("VarX", "VarY")
for(col in columns)
{
x <- x %>% mutate_at( .vars = col, ~paste0(col, .) )
}
x
, но мне не нравится цикл for.Может ли кто-нибудь улучшить код?
Также обратите внимание на код для работы с выбором столбца x.
x <- data.frame(VarX = rep(c("A","B"),2), VarY = rep(c("C","D"),2),
num = 1:4)
и я хочу изменить только столбцы VarX и VarY.