В идеале, вы должны это исправить, пока вы сами просматриваете веб-страницы. Однако, если нет способа вернуть go, чтобы исправить это, и, как вы уже упоминали, таблица всегда имеет форму «Дата», «Заголовок» и «Содержимое», мы можем использовать векторную рециркуляцию для выбора строк.
df_out <- data.frame(Date = df$V1[c(TRUE, FALSE, FALSE)],
Title = df$V1[c(FALSE, TRUE, FALSE)],
Content = df$V1[c(FALSE, FALSE, TRUE)],
stringsAsFactors = FALSE)
df_out
# Date Title Content
#1 January 16, 2017 President Obama announces something Today President Obama announced that
#2 January 17, 2017 Press Briefing January 17th In todays briefing, the press secr
Другой вариант с использованием dplyr
и pivot_wider
из tidyr
library(dplyr)
df %>%
mutate(V2 = rep(c('Date', 'Title', 'Content'), length.out = n()),
row = rep(seq_len(n()), each =3, length.out = n())) %>%
tidyr::pivot_wider(names_from = V2, values_from = V1) %>%
select(-row)
data
df <- structure(list(V1 = c("January 16, 2017", "President Obama announces something",
"Today President Obama announced that", "January 17, 2017", "Press Briefing January 17th",
"In todays briefing, the press secr")), class = "data.frame", row.names = c(NA, -6L))