2
考虑一个基本上为矩形的数据的嵌套列表。嵌套列表到数据框并返回到嵌套列表
mylst1 <- list(
"system" = list(
"subjectId" = c(101,102,103),
"procedureId" = c(202,202,203)
),
"demographics" = list(
"demo_age" = c(12,22,32),
"demo_gender" = c(1,0,1)
),
"items" = list(
"N" = list(
"n001" = c(1,2,3),
"n002" = c(3,2,1)
),
"E" = list(
"e001" = c(1,2,3),
"e002" = c(3,2,1)
)
)
)
因为嵌套列表是尴尬的工作,让我们创建一个数据帧: myDf <- data.frame(mylst1)
到目前为止好,现在我可以myDf
执行我的所有操作。我们假设我只是过滤了一些观察结果。问题是,我需要返回相同的嵌套表结构所要求的网络应用程序,我想送这个数据,但现在当然的数据是这样的:
> str(myDf)
'data.frame': 3 obs. of 8 variables:
$ system.subjectId : num 101 102 103
$ system.procedureId : num 202 202 203
$ demographics.demo_age : num 12 22 32
$ demographics.demo_gender: num 1 0 1
$ items.N.n001 : num 1 2 3
$ items.N.n002 : num 3 2 1
$ items.E.e001 : num 1 2 3
$ items.E.e002 : num 3 2 1
什么是最好的解决办法以原始列表格式获取这些数据?我正在考虑使用.
作为每个级别的分隔符,但我不确定如何在实践中做到这一点。
感谢
一个主要的警告(我相信)是数量myDF中的元素不能更改(不添加或删除行)。第二个潜在问题是'unlist'会将所有元素强制为相同类型。 – lmo
@lmo是的,这是对的,我加了关于同一类的假设 – akrun
谢谢!我不知道'relist()'!正如lmo指出的那样,问题是我现在无法添加或删除案例。这里有工作吗? –