Извлечение данных из столбца и заполнение извлечения как новой переменной в существующем фрейме данных - PullRequest
0 голосов
/ 14 мая 2018

У меня есть дата-адрес электронной почты, который мне нужно разделить по адресу и домену.Я нашел tidyr и его отдельную команду, но когда я запускаю отдельный, я либо добавляю фрейм данных в мой фрейм данных, называемый "new_var", либо он выводит правильно разделенные данные в консоль.

Мне нужны разделенныеданные, которые будут добавлены как новые столбцы в мой существующий фрейм данных.

Я использую что-то вроде

separate(email_data, EMAIL_ADDRESS, into=c("address","domain"), sep="@", remove=FALSE)

Мне нужен результат, чтобы добавить два столбца в мою DF 'email_data', один именованный адрес и один именованный домен.

Я просматривал здесь и в других местах, я пытался добавить use paste (вместо c (, но это не помогло.

Любая помощь приветствуется.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вы можете использовать ниже код

library(stringr)    
email_data <- str_split_fixed(email_data$EMAIL_ADDRESS, "@", 2)
colnames(email_data) <- c("Address","Domain")

Я проверил это, и это будет работать.

Редактировать: Добавление примера

Name <- c('testname', 'testname1234')
EMAIL_ADDRESS <- c('pk@sss.com', 'qwert@tyuu.com')
Init_frame <- data.frame(Name,EMAIL_ADDRESS )
Init_frame

email_data <- data.frame(EMAIL_ADDRESS)
library(stringr)
email_data <- str_split_fixed(email_data$EMAIL_ADDRESS, "@", 2)
colnames(email_data) <- c("Address","Domain")
email_data

Init_frame <- data.frame (Name,email_data)
Init_frame
0 голосов
/ 14 мая 2018

Два предоставленных ответа были полезны (и оценены), но ни один из них не дал мне именно то, что мне нужно, что отчасти является моей ошибкой. Все, что мне действительно нужно, это доменная часть адреса электронной почты.

Мне удалось извлечь его из поля email_address и присвоить ему собственный столбец со следующим:

email_data$domain1 <- substring(email_data$EMAIL_ADDRESS, 
regexpr("@", email_data$EMAIL_ADDRESS) + 1)

substring(text, start, stop)
text = email_address field
start = +1 character after @ symbol
stop = blank b/c I want everything after the @ symbol
0 голосов
/ 14 мая 2018

Вот пример из прежней проблемы машинного обучения:

merc1 <- merc %>% separate(category_name,into=c("cn1","cn2","cn3"),sep="/",extra="drop") Ваш символ входного столбца?

Peter

...