Я пытаюсь извлечь соответствующую часть JSON из данных столбца в новый столбец «geo». Этот код только извлекает первую строку правильно, а затем повторяет сам. Я ожидаю, что столбец 'гео' читать:Создать новый столбец с соответствующей частью JSON
GEO СТОКГОЛЬМ, GEO Нью-Йорк, GEO МАДРИД, GEO LONDON
вместо настоящее
GEO СТОКГОЛЬМ, GEO СТОКГОЛЬМ, GEO СТОКГОЛЬМ, GEO СТОКГОЛЬМ
Код:
library(rjson)
data <- c('["GEO STOCKHOLM","TYPE LOW"]','["GEO NEW YORK","TYPE MEDIUM"]','["GEO MADRID","TYPE HIGH"]','["GEO LONDON","TYPE MAX"]')
df <- data.frame(data, stringsAsFactors=FALSE)
df$geo <- grep("GEO", fromJSON(df$data), value = TRUE)
Как вы можете видеть, я просто хочу, чтобы сохранить «гео» часть в точку с запятой, и потерять часть «типа». Глядя на ф.р. dataframe, это мой (неправильно) выход:
Этот ответ может быть как-то полезен? http://stackoverflow.com/questions/40045080/r-read-and-parse-json/40046159#40046159 –
Посмотрите, что производит 'fromJSON (df $ data)'. Он просто перебирается через GEOM STOCKHOLM и TYPE LOW. –
Не совсем Леонардо, спасибо. Кажется, проблема заключается в том, что функция grep НЕ ПОСЕТИТ по столбцам данных df $ по какой-то причине? Кажется, что он правильно извлекает первый элемент, а затем повторяется. –