#r #string #dataframe #data-cleaning
#r #строка #фрейм данных #очистка данных
Вопрос:
У меня есть столбец dataframe следующим образом:
name_col
"Anna"
"c("Anna", n"Billy", n"Fanny")"
"c("Tom", "Tim"n)"
"Minnie"
Я хотел бы получить последнюю строку для каждой строки в столбце выше,
что-то вроде этого:
name_col
"Anna"
"Fanny"
"Tim"
"Minnie"
Dput(head(name_col, 4)) выглядит следующим образом:
c("Anna","c("Anna", "Billy", "Fanny")" ,"c("Tom", "Tim")","Minnie")
Пожалуйста, дайте мне знать, можно ли это сделать в столбце dataframe в R. Спасибо
Комментарии:
1. Пожалуйста, поделитесь выводом
dput(head(name_col, 4))
в конце вашего вопроса.
Ответ №1:
Используя фрейм d
данных, воспроизводимый в примечании в конце, используйте эту замену:
transform(d, name_col = sub('.*"(.*)".*', "\1", name_col))
предоставление:
name_col
1 Anna
2 Fanny
3 Tim
4 Minnie
Примечание
Воспроизводимый кадр входных данных:
d <- data.frame(name_col =
c("Anna",
"c("Anna", n"Billy", n"Fanny")",
"c("Tom", "Tim"n)",
"Minnie"), stringsAsFactors = FALSE)