У меня есть столбец данных следующим образом:
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")
Пожалуйста, дайте мне знать, можно ли это сделать в столбце данных в R. Спасибо.
Используя фрейм данных 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)
Пожалуйста, поделитесь выводом
dput(head(name_col, 4))
в конце вашего вопроса.