Вопрос по R (помогите, очень нужно) |
Здравствуйте, гость ( Вход | Регистрация )
Вопрос по R (помогите, очень нужно) |
17.07.2017 - 18:18
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 29 Регистрация: 10.02.2017 Пользователь №: 29307 |
Подскажите, мне нужно распарсить json file из датасета
json_file <- fromJSON(paste(readLines("9729093289.json"), collapse="")) json_file <- purrr::map_df(temp, function(x) { purrr::map(jsonlite::fromJSON(x), function(y) ifelse(is.null(y), NA, y)) }) js <- as.data.frame(json_file) json_file <- fromJSON(json_file) lapply( js[, 14], function (txt.list) { r.list <-8345231(parse(text = txt.list)) split(r.list$text, r.list$class) } ) ошибка Error in split.default(r.list$text, r.list$class) : first argument must be a vector как победить?
Прикрепленные файлы
|
|
18.07.2017 - 11:37
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 29 Регистрация: 10.02.2017 Пользователь №: 29307 |
p2004r, а я его написал
#грузим данные джойсон из папки setwd("datajson") getwd() library(jsonlite) js <- list.files(path = "datajson", pattern="*.json", full.names=TRUE) js <- purrr::map_df(js, function(x) { purrr::map(jsonlite::fromJSON(x), function(y) ifelse(is.null(y), NA, y)) }) #check output nrow(js) colnames(js) #transform json to data frame js <- as.data.frame(js) tmp.1 <- lapply( js1[,14], function (txt.list) { r.list <-8345231(parse(text = txt.list)) ret.val <- split(r.list$text, r.list$class) ret.val$linkedEntitiesByCeoNumList <- c(ret.val$linkedEntitiesByCeoNumList, rep(NA, 20 - length(ret.val$linkedEntitiesByCeoNumList))) # код будет работать максимум с 20 полями каждого вида ret.val$linkedEntitiesByFounderNumList <- c(ret.val$linkedEntitiesByFounderNumList, rep(NA, 20 - length(ret.val$linkedEntitiesByFounderNumList))) ret.val$linkedEntitiesChildrenNumList <- c(ret.val$linkedEntitiesChildrenNumList, rep(NA, 20 - length(ret.val$linkedEntitiesChildrenNumList))) ret.val <- do.call(c, ret.val) do.call(data.frame, c(ret.val, list(stringsAsFactors = FALSE))) } ) tmp.1 <- do.call(rbind, tmp.1) js <- cbind(js, tmp.1) Error in split.default(r.list$text, r.list$class) : first argument must be a vector 4. split.default(r.list$text, r.list$class) 3. split(r.list$text, r.list$class) 2. FUN(X[[i]], ...) 1. lapply(my.df1[, 14], function(txt.list) { r.list <-8345231(parse(text = txt.list)) ret.val <- split(r.list$text, r.list$class) ret.val$linkedEntitiesByCeoNumList <- c(ret.val$linkedEntitiesByCeoNumList, ... а если вы будете смотреть 4-ую переменную то этот же код на ура отработает Сообщение отредактировал Fedor_Petuhov - 18.07.2017 - 13:18
Прикрепленные файлы
|
|
18.07.2017 - 14:03
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
p2004r, а я его написал теперь сравните этот код с тем, что был в первом (да и собственно всех кроме последнего) постах... |
|