R 创建元素少于原始数据帧的数据帧时出错
我不是像R和SQL这样的声明性语言的专家,所以,如果你能帮我把这句话说得简单一点,那将有很大的帮助 考虑使用嵌套的R 创建元素少于原始数据帧的数据帧时出错,r,rstudio,lapply,jsonlite,R,Rstudio,Lapply,Jsonlite,我不是像R和SQL这样的声明性语言的专家,所以,如果你能帮我把这句话说得简单一点,那将有很大的帮助 考虑使用嵌套的do.call()和lappy()命令将JSON迁移到数据帧的方法。外部do.callrow跨文件绑定数据,内部do.callrow绑定每个文件中的json数据。paste()将列表数据压缩到一个元素中,如果json文件打印得很好,而不是压缩到一行中,则删除EOF > prunedData <- do.call("rbind", lapply(rawData, funct
do.call()
和lappy()
命令将JSON迁移到数据帧的方法。外部do.call
row跨文件绑定数据,内部do.call
row绑定每个文件中的json数据。paste()
将列表数据压缩到一个元素中,如果json文件打印得很好,而不是压缩到一行中,则删除EOF
> prunedData <- do.call("rbind", lapply(rawData, function(x) trimData(x)))
Error in data.frame(NULL, NULL, NULL, NULL, NULL, c(NA, "PASS_OVER:HOUSE", :
arguments imply differing number of rows: 0, 4
library(jsonlite)
路径
> prunedData <- do.call("rbind", lapply(rawData, function(x) trimData(x)))
Error in data.frame(NULL, NULL, NULL, NULL, NULL, c(NA, "PASS_OVER:HOUSE", :
arguments imply differing number of rows: 0, 4
library(jsonlite)
paths <- list.files(pattern="data.json", full.names=TRUE, recursive=TRUE)
colNames = c("BillType", "Congress", "IntroducedAt", "OfficialTitle",
"Number", "Status", "SubjectsTopTerm", "UpdatedAt")
rawData <- do.call(rbind,
lapply(paths,
function(x)
do.call(rbind,
lapply(paste(readLines(x, warn=FALSE),
collapse=""),
jsonlite::fromJSON)
)
)
)
# TRIM TO NEEDED COLUMNS
prunedData <- rawdata[colNames]