gpt4 book ai didi

r - 将 lapply 的输出提取到数据帧

转载 作者:行者123 更新时间:2023-12-02 18:09:52 35 4
gpt4 key购买 nike

我有一些 R 代码,它使用以下代码对当前目录中的所有文件执行一些数据提取操作:

files <- list.files(".", pattern="*.tts")
results <- lapply(files, data_for_time, "17/06/2006 12:00:00")

lapply 的输出如下(使用 dput() 提取) - 基本上是一个充满向量的列表:

list(c("amer", "14.5"), c("appl", "14.2"), c("brec", "13.1"), 
c("camb", "13.5"), c("camo", "30.1"), c("cari", "13.8"),
c("chio", "21.1"), c("dung", "9.4"), c("east", "11.8"), c("exmo",
"12.1"), c("farb", "14.7"), c("hard", "15.6"), c("herm",
"24.3"), c("hero", "13.3"), c("hert", "11.8"), c("hung",
"26"), c("lizr", "14"), c("maid", "30.4"), c("mart", "8.8"
), c("newb", "14.7"), c("newl", "14.3"), c("oxfr", "13.9"
), c("padt", "10.3"), c("pbil", "13.6"), c("pmtg", "11.1"
), c("pmth", "11.7"), c("pool", "14.6"), c("prae", "11.9"
), c("ral2", "12.2"), c("sano", "15.3"), c("scil", "36.2"
), c("sham", "12.9"), c("stra", "30.9"), c("stro", "14.7"
), c("taut", "13.7"), c("tedd", "22.3"), c("wari", "12.7"
), c("weiw", "13.6"), c("weyb", "8.4"))

但是,我想将此输出作为具有两列的数据框处理:一列用于字母代码("amer""appl" 等)一个代表数字(14.514.2 等)。

不幸的是,as.data.frame 似乎不适用于列表内嵌套向量的输入。我应该如何转换这个?我是否需要更改函数 data_for_time 返回值的方式?目前它只返回c(name, value)。或者有没有一种好的方法可以将这种输出转换为数据帧?

最佳答案

如果结果是您的列表,请尝试此操作:

> as.data.frame(do.call(rbind, results))

V1 V2
1 amer 14.5
2 appl 14.2
3 brec 13.1
4 camb 13.5
...

关于r - 将 lapply 的输出提取到数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590904/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com