У меня есть фрейм данных, похожий на этот:
> df <- data.frame(A1=1:3, B1=1:3, A2=1:3, B2=1:3, A3=1:3, B3=1:3)
> df
A1 B1 A2 B2 A3 B3
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
Теперь я ищу код, который добавляет строки перед B1, B2 и B3:
A1 AB1 B1 A2 AB2 B2 A3 AB3 B3
1 1 X 1 1 X 1 1 X 1
2 2 X 2 2 X 2 2 X 2
3 3 X 3 3 X 3 3 X 3
Поскольку приведенный выше фрейм данных является лишь минимальным воспроизводимым примером (реальный фрейм данных гораздо больше), я ищу решение, использующее цикл for или решение с tidyverse. У меня была идея использовать комбинацию цикла for и add_column
из пакета tibble:
library(tibble)
for (i in 1:3) {
df <- df %>%
add_column(paste0("AB", i, "") = "X" , .before = paste0("B", i, ""))
}
К сожалению, идея не работает. Я не совсем уверен, что весь подход неверен или что-то не так с paste0()
и т. Д. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Заранее спасибо!