Hello Everyone,
I am trying to extract data from a url. The codes work well when the
data structure is as follows:
X Y
1 2
1 5
1 6
1 7
3 4
However, the code fails when the data structure has no number
under the 2nd column (shown below).I get the following error:
"Error in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 242, 241"
X Y
1 2
1
1
1 7
3 4
Can anyone please help me in how I can modify the codes ( shown below) to
adjust for the above mentioned condition
in the data structure.
library(rjson)
url <- "abcd.com"
json_data <- fromJSON(file= url)
d3 <- lapply(json_data[[2]], function(x) c(x["data"]))
d3 <- do.call(rbind, d3)
X_Dataframe = as.data.frame(unlist(d3[[1]]))
b <- do.call("cbind", split(X_Dataframe, rep(c(1, 2), length.out
nrow(X_Dataframe))))
regards,
bhaskar
[[alternative HTML version deleted]]
Hi Bhaskar, If you are using read.table or similar, see the "fill=" argument. Jim On Thu, May 20, 2021 at 9:54 AM Bhaskar Mitra <bhaskar.kolkata at gmail.com> wrote:> > Hello Everyone, > > I am trying to extract data from a url. The codes work well when the > data structure is as follows: > > X Y > 1 2 > 1 5 > 1 6 > 1 7 > 3 4 > > However, the code fails when the data structure has no number > under the 2nd column (shown below).I get the following error: > > "Error in data.frame(..., check.names = FALSE) : > arguments imply differing number of rows: 242, 241" > > > X Y > 1 2 > 1 > 1 > 1 7 > 3 4 > > Can anyone please help me in how I can modify the codes ( shown below) to > adjust for the above mentioned condition > in the data structure. > > library(rjson) > > url <- "abcd.com" > json_data <- fromJSON(file= url) > d3 <- lapply(json_data[[2]], function(x) c(x["data"])) > d3 <- do.call(rbind, d3) > X_Dataframe = as.data.frame(unlist(d3[[1]])) > b <- do.call("cbind", split(X_Dataframe, rep(c(1, 2), length.out > nrow(X_Dataframe)))) > > > regards, > bhaskar > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
The source being a URL is not important. The important things are - what the structure of the JSON data is - what the MEANING of the JSON data is - what that meaning says about what SHOULD appear in the data from in these cases. Arguably this isn't even an R question at all. It's a question about your data. Since you have replaced the actual URL with a dummy (example.com is the traditional never-to-be-in-use host name), we cannot even guess these things by looking at the data ourselves. On Thu, 20 May 2021 at 11:54, Bhaskar Mitra <bhaskar.kolkata at gmail.com> wrote:> Hello Everyone, > > I am trying to extract data from a url. The codes work well when the > data structure is as follows: > > X Y > 1 2 > 1 5 > 1 6 > 1 7 > 3 4 > > However, the code fails when the data structure has no number > under the 2nd column (shown below).I get the following error: > > "Error in data.frame(..., check.names = FALSE) : > arguments imply differing number of rows: 242, 241" > > > X Y > 1 2 > 1 > 1 > 1 7 > 3 4 > > Can anyone please help me in how I can modify the codes ( shown below) to > adjust for the above mentioned condition > in the data structure. > > library(rjson) > > url <- "abcd.com" > json_data <- fromJSON(file= url) > d3 <- lapply(json_data[[2]], function(x) c(x["data"])) > d3 <- do.call(rbind, d3) > X_Dataframe = as.data.frame(unlist(d3[[1]])) > b <- do.call("cbind", split(X_Dataframe, rep(c(1, 2), length.out > nrow(X_Dataframe)))) > > > regards, > bhaskar > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]