R 创建元素少于原始数据帧的数据帧时出错

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

我不是像R和SQL这样的声明性语言的专家,所以,如果你能帮我把这句话说得简单一点,那将有很大的帮助

考虑使用嵌套的
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]