Как получить последний элемент строки в столбце в R? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть столбец 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 Ответ

1 голос
/ 10 апреля 2019

Используя фрейм данных 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)
...