?s 21:57 de 04/06/2026, Sorkin, John escreveu:> I have an R object created lapply function within a by a by function > > results_by_date <- by( > data, > data[,"Date"], > function(subdata) { > lapply( > alertlevels, > check_cutpoints2, > data=subdata, > mycolumn=column > ) > } > ) > > which has the following structure > > $ 2020-08-14:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 0 > $ 2020-08-15:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 1 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 0 > $ 2020-08-16:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 15 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 6 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 6 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 6 > $ 2020-08-17:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 58 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 20 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 7 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 2 > $ 2020-08-18:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 79 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 45 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 16 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 6 > $ 2020-08-19:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 187 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 100 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 61 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 38 > $ 2020-08-20:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 121 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 31 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 13 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 4 > $ 2020-08-21:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 17 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 8 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 5 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 3 > $ 2020-08-22:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 35 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 12 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 6 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 2 > $ 2020-08-23:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 32 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 15 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 8 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 4 > $ 2020-08-24:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 15 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 5 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 1 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 0 > $ 2020-08-25:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 43 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 26 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 13 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 5 > $ 2020-08-26:List of 4 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.1 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.2 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.3 > .. ..$ NumPeopleExposed: int 0 > ..$ :List of 2 > .. ..$ criticalvalue : num 0.4 > .. ..$ NumPeopleExposed: int 0 > - attr(*, "dim")= int 13 > - attr(*, "dimnames")=List of 1 > ..$ data[, "Date"]: chr [1:13] "2020-08-14" "2020-08-15" "2020-08-16" "2020-08-17" ... > - attr(*, "call")= language by.data.frame(data = data, INDICES = data[, "Date"], FUN = function(subdata) { lapply(alertlevels, check_cutp| __truncated__ ... > - attr(*, "class")= chr "by" > NULL > > I would like to convert the object to a dataframe. Can anyone suggest how I might accomplish this task? > > Thank you, > John > > John David Sorkin M.D., Ph.D. > Professor of Medicine, University of Maryland School of Medicine; > Associate Director for Biostatistics and Informatics, Baltimore VA Medical Center Geriatrics Research, Education, and Clinical Center; > Former PI Biostatistics and Informatics Core,?University of Maryland School of Medicine Claude D. Pepper Older Americans Independence Center; > Senior Statistician University of Maryland Center for Vascular Research; > > Division of Gerontology, Geriatrics and Palliative Medicine, > 10 North Greene Street > GRECC (BT/18/GR) > Baltimore, MD 21201-1524 > Cell phone 443-418-5382 > > > > ______________________________________________ > 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 https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.Hello, The problem is that you have a lapply() nested in by(), so you will have to rbind twice. It seems that results_by_date <- by( data, data[,"Date"], function(subdata) { lapply( alertlevels, check_cutpoints2, data=subdata, mycolumn=column ) |> do.call(rbind, args = _) } ) |> do.call(rbind, args = _) can solve it. Can you post the output of dput(results_by_date[1:2]) ? Hope this helps, Rui Barradas
@vi@e@gross m@iii@g oii gm@ii@com
2026-Jun-04 22:30 UTC
[R] Convert R object to a data frame
It would help, John, if we understood what the resultant data.frame should look
like.
The structure looks like it contains nested lists including a list of 4
containing 4 lists of 2.
The contents range from int to num.
In a standard data.frame, you might want eight columns per row and would end up
with four rows.
You can now make data.frames CAREFULLY in which a column can contain something
complex such as a list or the output of a statistical function. So, four columns
each containing a list of 2 columns can be done.
Since you have a very specific data structure in mind, conversions could be
straightforward or not.
Here is a simpleminded attempt to replicate your first structure to generate one
row that unexpectedly does something a bit different:
myRow <-
data.frame(
alpha = list(criticalvalue=0.1, NumPeopleExposed=0),
beta = list(criticalvalue=0.2, NumPeopleExposed=0),
gamma = list(criticalvalue=0.3, NumPeopleExposed=0),
delta = list(criticalvalue=0.4, NumPeopleExposed=0)
)
Note you could have initialized this from the other data structure by putting in
references to those values instead of my constants BUT the goal was to see what
it made and, well, it is not as expected:
> myRow
alpha.criticalvalue alpha.NumPeopleExposed beta.criticalvalue
beta.NumPeopleExposed gamma.criticalvalue
1 0.1 0 0.2
0 0.3
gamma.NumPeopleExposed delta.criticalvalue delta.NumPeopleExposed
1 0 0.4
0> nrow(myRow)
[1] 1> ncol(myRow)
[1] 8> names(myRow)
[1] "alpha.criticalvalue" "alpha.NumPeopleExposed"
"beta.criticalvalue" "beta.NumPeopleExposed"
[5] "gamma.criticalvalue" "gamma.NumPeopleExposed"
"delta.criticalvalue" "delta.NumPeopleExposed"
You need to protect a sub-list from base R with something like the I() function:
Is this version better?
myRow <-
data.frame(
alpha = I(list(criticalvalue=0.1, NumPeopleExposed=0)),
beta = I(list(criticalvalue=0.2, NumPeopleExposed=0)),
gamma = I(list(criticalvalue=0.3, NumPeopleExposed=0)),
delta = I(list(criticalvalue=0.4, NumPeopleExposed=0))
)
> myRow
alpha beta gamma delta
criticalvalue 0.1 0.2 0.3 0.4
NumPeopleExposed 0 0 0 0> nrow(myRow)
[1] 2> ncol(myRow)
[1] 4> names(myRow)
[1] "alpha" "beta" "gamma" "delta"
Well, my one row now seems to be two rows with four per row.
> myRow$alpha
$criticalvalue
[1] 0.1
$NumPeopleExposed
[1] 0
> myRow$alpha$criticalvalue
[1] 0.1> myRow$alpha$NumPeopleExposed
[1] 0
This seems to get you some of what you want. Something may be off as it should
not be two rows.
I would suggest you can possibly find a solution in base R but my experience has
been using various tidyverse functions as in dplyr to construct and use these
embedded things.
Do note the above are examples of making a single row and as mentioned, you may
want to combine multiple ones using various techniques such as rbind and cbind.
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of Rui Barradas
via R-help
Sent: Thursday, June 4, 2026 5:19 PM
To: Sorkin, John <jsorkin at som.umaryland.edu>; R-help <r-help at
r-project.org>
Subject: Re: [R] Convert R object to a data frame
?s 21:57 de 04/06/2026, Sorkin, John escreveu:> I have an R object created lapply function within a by a by function
>
> results_by_date <- by(
> data,
> data[,"Date"],
> function(subdata) {
> lapply(
> alertlevels,
> check_cutpoints2,
> data=subdata,
> mycolumn=column
> )
> }
> )
>
> which has the following structure
>
> $ 2020-08-14:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-15:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 1
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-16:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 6
> $ 2020-08-17:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 58
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 20
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 7
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 2
> $ 2020-08-18:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 79
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 45
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 16
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 6
> $ 2020-08-19:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 187
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 100
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 61
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 38
> $ 2020-08-20:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 121
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 31
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 13
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 4
> $ 2020-08-21:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 17
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 8
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 5
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 3
> $ 2020-08-22:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 35
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 12
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 2
> $ 2020-08-23:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 32
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 8
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 4
> $ 2020-08-24:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 5
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 1
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-25:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 43
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 26
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 13
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 5
> $ 2020-08-26:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> - attr(*, "dim")= int 13
> - attr(*, "dimnames")=List of 1
> ..$ data[, "Date"]: chr [1:13] "2020-08-14"
"2020-08-15" "2020-08-16" "2020-08-17" ...
> - attr(*, "call")= language by.data.frame(data = data, INDICES
= data[, "Date"], FUN = function(subdata) { lapply(alertlevels,
check_cutp| __truncated__ ...
> - attr(*, "class")= chr "by"
> NULL
>
> I would like to convert the object to a dataframe. Can anyone suggest how I
might accomplish this task?
>
> Thank you,
> John
>
> John David Sorkin M.D., Ph.D.
> Professor of Medicine, University of Maryland School of Medicine;
> Associate Director for Biostatistics and Informatics, Baltimore VA Medical
Center Geriatrics Research, Education, and Clinical Center;
> Former PI Biostatistics and Informatics Core, University of Maryland School
of Medicine Claude D. Pepper Older Americans Independence Center;
> Senior Statistician University of Maryland Center for Vascular Research;
>
> Division of Gerontology, Geriatrics and Palliative Medicine,
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> Cell phone 443-418-5382
>
>
>
> ______________________________________________
> 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
https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Hello,
The problem is that you have a lapply() nested in by(), so you will have
to rbind twice.
It seems that
results_by_date <- by(
data,
data[,"Date"],
function(subdata) {
lapply(
alertlevels,
check_cutpoints2,
data=subdata,
mycolumn=column
) |> do.call(rbind, args = _)
}
) |> do.call(rbind, args = _)
can solve it.
Can you post the output of dput(results_by_date[1:2]) ?
Hope this helps,
Rui Barradas
______________________________________________
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 https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Rui,
Thank you for helping me convert my R object into a dataframe. You wanted to see
the output of dput(results_by_date[1:2]). The data structure dput produced
follows:
structure(list(`2020-08-14` = list(list(criticalvalue = 0.1,
NumPeopleExposed = 0L), list(criticalvalue = 0.2, NumPeopleExposed = 0L),
list(criticalvalue = 0.3, NumPeopleExposed = 0L), list(criticalvalue = 0.4,
NumPeopleExposed = 0L)), `2020-08-15` = list(list(criticalvalue = 0.1,
NumPeopleExposed = 1L), list(criticalvalue = 0.2, NumPeopleExposed = 0L),
list(criticalvalue = 0.3, NumPeopleExposed = 0L), list(criticalvalue = 0.4,
NumPeopleExposed = 0L)), `2020-08-16` = list(list(criticalvalue = 0.1,
NumPeopleExposed = 15L), list(criticalvalue = 0.2, NumPeopleExposed = 6L),
list(criticalvalue = 0.3, NumPeopleExposed = 6L), list(criticalvalue = 0.4,
NumPeopleExposed = 6L)), `2020-08-17` = list(list(criticalvalue = 0.1,
NumPeopleExposed = 60L), list(criticalvalue = 0.2, NumPeopleExposed = 26L),
list(criticalvalue = 0.3, NumPeopleExposed = 9L), list(criticalvalue = 0.4,
NumPeopleExposed = 3L))), dim = 4L, dimnames = list(`data[,
"Date"]` = c("2020-08-14",
"2020-08-15", "2020-08-16", "2020-08-17")))
$`2020-08-14`
$`2020-08-14`[[1]]
$`2020-08-14`[[1]]$criticalvalue
[1] 0.1
$`2020-08-14`[[1]]$NumPeopleExposed
[1] 0
$`2020-08-14`[[2]]
$`2020-08-14`[[2]]$criticalvalue
[1] 0.2
$`2020-08-14`[[2]]$NumPeopleExposed
[1] 0
$`2020-08-14`[[3]]
$`2020-08-14`[[3]]$criticalvalue
[1] 0.3
$`2020-08-14`[[3]]$NumPeopleExposed
[1] 0
$`2020-08-14`[[4]]
$`2020-08-14`[[4]]$criticalvalue
[1] 0.4
$`2020-08-14`[[4]]$NumPeopleExposed
[1] 0
$`2020-08-15`
$`2020-08-15`[[1]]
$`2020-08-15`[[1]]$criticalvalue
[1] 0.1
$`2020-08-15`[[1]]$NumPeopleExposed
[1] 1
$`2020-08-15`[[2]]
$`2020-08-15`[[2]]$criticalvalue
[1] 0.2
$`2020-08-15`[[2]]$NumPeopleExposed
[1] 0
$`2020-08-15`[[3]]
$`2020-08-15`[[3]]$criticalvalue
[1] 0.3
$`2020-08-15`[[3]]$NumPeopleExposed
[1] 0
$`2020-08-15`[[4]]
$`2020-08-15`[[4]]$criticalvalue
[1] 0.4
$`2020-08-15`[[4]]$NumPeopleExposed
[1] 0
$`2020-08-16`
$`2020-08-16`[[1]]
$`2020-08-16`[[1]]$criticalvalue
[1] 0.1
$`2020-08-16`[[1]]$NumPeopleExposed
[1] 15
$`2020-08-16`[[2]]
$`2020-08-16`[[2]]$criticalvalue
[1] 0.2
$`2020-08-16`[[2]]$NumPeopleExposed
[1] 6
$`2020-08-16`[[3]]
$`2020-08-16`[[3]]$criticalvalue
[1] 0.3
$`2020-08-16`[[3]]$NumPeopleExposed
[1] 6
$`2020-08-16`[[4]]
$`2020-08-16`[[4]]$criticalvalue
[1] 0.4
$`2020-08-16`[[4]]$NumPeopleExposed
[1] 6
$`2020-08-17`
$`2020-08-17`[[1]]
$`2020-08-17`[[1]]$criticalvalue
[1] 0.1
$`2020-08-17`[[1]]$NumPeopleExposed
[1] 60
$`2020-08-17`[[2]]
$`2020-08-17`[[2]]$criticalvalue
[1] 0.2
$`2020-08-17`[[2]]$NumPeopleExposed
[1] 26
$`2020-08-17`[[3]]
$`2020-08-17`[[3]]$criticalvalue
[1] 0.3
$`2020-08-17`[[3]]$NumPeopleExposed
[1] 9
$`2020-08-17`[[4]]
$`2020-08-17`[[4]]$criticalvalue
[1] 0.4
$`2020-08-17`[[4]]$NumPeopleExposed
[1] 3
THANK YOU
John
John David Sorkin M.D., Ph.D.
Professor of Medicine, University of Maryland School of Medicine;
Associate Director for Biostatistics and Informatics, Baltimore VA Medical
Center Geriatrics Research, Education, and Clinical Center;
Former PI Biostatistics and Informatics Core, University of Maryland School of
Medicine Claude D. Pepper Older Americans Independence Center;
Senior Statistician University of Maryland Center for Vascular Research;
Division of Gerontology, Geriatrics and Palliative Medicine,
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
Cell phone 443-418-5382
________________________________________
From: Rui Barradas <ruipbarradas at sapo.pt>
Sent: Thursday, June 4, 2026 5:19 PM
To: Sorkin, John <jsorkin at som.umaryland.edu>; R-help <r-help at
r-project.org>
Subject: Re: [R] Convert R object to a data frame
?s 21:57 de 04/06/2026, Sorkin, John escreveu:> I have an R object created lapply function within a by a by function
>
> results_by_date <- by(
> data,
> data[,"Date"],
> function(subdata) {
> lapply(
> alertlevels,
> check_cutpoints2,
> data=subdata,
> mycolumn=column
> )
> }
> )
>
> which has the following structure
>
> $ 2020-08-14:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-15:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 1
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-16:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 6
> $ 2020-08-17:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 58
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 20
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 7
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 2
> $ 2020-08-18:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 79
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 45
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 16
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 6
> $ 2020-08-19:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 187
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 100
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 61
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 38
> $ 2020-08-20:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 121
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 31
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 13
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 4
> $ 2020-08-21:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 17
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 8
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 5
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 3
> $ 2020-08-22:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 35
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 12
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 6
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 2
> $ 2020-08-23:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 32
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 8
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 4
> $ 2020-08-24:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 15
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 5
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 1
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> $ 2020-08-25:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 43
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 26
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 13
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 5
> $ 2020-08-26:List of 4
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.1
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.2
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.3
> .. ..$ NumPeopleExposed: int 0
> ..$ :List of 2
> .. ..$ criticalvalue : num 0.4
> .. ..$ NumPeopleExposed: int 0
> - attr(*, "dim")= int 13
> - attr(*, "dimnames")=List of 1
> ..$ data[, "Date"]: chr [1:13] "2020-08-14"
"2020-08-15" "2020-08-16" "2020-08-17" ...
> - attr(*, "call")= language by.data.frame(data = data, INDICES
= data[, "Date"], FUN = function(subdata) { lapply(alertlevels,
check_cutp| __truncated__ ...
> - attr(*, "class")= chr "by"
> NULL
>
> I would like to convert the object to a dataframe. Can anyone suggest how I
might accomplish this task?
>
> Thank you,
> John
>
> John David Sorkin M.D., Ph.D.
> Professor of Medicine, University of Maryland School of Medicine;
> Associate Director for Biostatistics and Informatics, Baltimore VA Medical
Center Geriatrics Research, Education, and Clinical Center;
> Former PI Biostatistics and Informatics Core, University of Maryland School
of Medicine Claude D. Pepper Older Americans Independence Center;
> Senior Statistician University of Maryland Center for Vascular Research;
>
> Division of Gerontology, Geriatrics and Palliative Medicine,
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> Cell phone 443-418-5382
>
>
>
> ______________________________________________
> 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
https://www.r-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Hello,
The problem is that you have a lapply() nested in by(), so you will have
to rbind twice.
It seems that
results_by_date <- by(
data,
data[,"Date"],
function(subdata) {
lapply(
alertlevels,
check_cutpoints2,
data=subdata,
mycolumn=column
) |> do.call(rbind, args = _)
}
) |> do.call(rbind, args = _)
can solve it.
Can you post the output of dput(results_by_date[1:2]) ?
Hope this helps,
Rui Barradas