У меня есть фрейм данных, в котором я хочу разделить столбец (var) на 2 столбца первым ".". В настоящее время значения в var имеют 2 периода. Я хотел бы назвать новые имена «Первый» и «Второй». Я добавил свой фрейм данных, а также снимок экрана. В конце я показываю свою попытку.
df = structure(list(Date.Dates = c("42370", "42373", "42374", "42375",
"42376", "42377"), var = c("SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF",
"SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF", "SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF",
"SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF", "SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF",
"SHOP US Equity.30DAY_IMPVOL_100.0%MNY_DF"), val = c("59.835999999999999",
"67.208600000000004", "61.522599999999997", "63.298900000000003",
"66.243200000000002", "69.282899999999998")), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
library(tidyverse)
df %>%
gather(var, val, -Date.Dates) %>%
separate(var, c("First", "Second", sep = "/^([^.]+)/"))
У нас должен быть новый столбец с именем «Первый», в котором содержится значение «ПОКУПАТЬ капитал США». Второй столбец с именем «Второй» содержит значение «30DAY_IMPVOL ...»
Спасибо