【发布时间】:2017-01-12 12:12:03
【问题描述】:
我需要用阈值评估列表中的data.frame,打算获取需要导出为csv文件的新组data.frame。但是,在我用给定的阈值对每个 data.frame 进行分类后,结果变成了嵌套列表。也许,我必须将这些生成的嵌套列表作为 data.frame 列表进行操作,然后遍历 data.frame 列表以将它们导出为csv 文件。我使用reshape2 来融化生成的嵌套列表,但不知道如何根据需要对它们进行分组并以所需的方式导出它们。有谁能告诉我更简单的方法来操作嵌套列表来制作 data.frame 列表?我怎样才能做到这一点?有没有什么有效的方法来完成这项工作?非常感谢:)
这是可重现的输入 data.frame 列表:
myList <- list(
hotan = data.frame( begin=seq(1, by=6, len=25), end=seq(4, by=6, len=25), pos.score=sample(30, 25)),
aksu = data.frame( begin=seq(3, by=9, len=30), end=seq(6, by=9, len=30), pos.score=sample(45, 30)),
korla = data.frame( begin=seq(6, by=8, len=45), end=seq(11, by=8, len=45), pos.score=sample(52, 45))
)
我需要使用阈值评估每个 data.frame,这会导致嵌套列表如下:
rslt <- lapply(myList, function(x) {
res <- split(x, ifelse(x$pos.score >=18, "good","bad"))
})
我尝试使用melt 删除嵌套列表结构:
library(reshape2)
melt(rslt)
也许,首先退出嵌套列表,将rslt 转换为data.frame 列表,然后使用lapply 将每个导出为csv 文件。请问有什么办法吗?
编辑:
我知道使用unlist 处理嵌套列表的一般方法,也许data.table 或dplyr 提供了更好的功能来处理此类问题。我想学习新的解决方案。谢谢
我正在尝试实现这个 data.frame 列表:
hotan.good
hotan.bad
aksu.good
aksu.bad
korla.good
korla.bad
如何获得需要导出为csv 文件的所需data.frame 列表?我该如何操作 rslt ?
【问题讨论】:
-
unlist(rslt, recursive = FALSE) -
@Apom 我知道,我正在寻找有趣的东西。
标签: r dataframe data.table