Извлечение идентификаторов друзей из длинного укуса в г - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть фрейм данных с тысячами строк. Фрейм данных содержит много столбцов, где 3-й столбец содержит длинную строку в каждой ячейке, как показано ниже.

> file_analysis$parameters[1]
[1] {"friends_id": [8396105, 20289687, 8222966], "opp_groups": [], "group_count": 752, "likes_count": 0, "friends_count": 3}
> file_analysis$parameters[2]
[1] {"friends_id": [7874795, 8093749], "opp_groups": [], "group_count": 69, "likes_count": 0, "posts_count": 0, "friends_count": 2}
> file_analysis$parameters[3]
[1] {"friends_id": [], "opp_groups": [], "group_count": 292, "likes_count": 0, "posts_count": 0, "friends_count": 0}

В нескольких столбцах идентификаторов друзей не существует. Но в нескольких столбцах существует более 1 идентификатора друзей. Как вы можете видеть выше 3 ячейки, есть следующие идентификаторы друзей.

"friends_id": [8396105, 20289687, 8222966]
"friends_id": [7874795, 8093749]
"friends_id": []

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

Я хочу получить следующий вывод:

id1 = (8396105, 20289687, 8222966)
id2 = (7874795, 8093749)
id2 = NULL

1 Ответ

0 голосов
/ 27 апреля 2020

Сначала установите библиотеку.

library(qdapRegex)

Затем выполните следующую строку.

> x = rm_between(file_analysis$parameters[1], "\": [", "]", extract=TRUE)[[1]][1]
  x
 [1] "8396105, 20289687, 8222966"

Теперь сделайте вектор из указанной строки.

 y = unlist(strsplit(x, split=", "))
...