gpt4 book ai didi

r - 使用 sapply 的列表和矩阵

转载 作者:行者123 更新时间:2023-12-02 01:09:13 24 4
gpt4 key购买 nike

我有一个可能是基本的问题,我已经在网上搜索过了。我在读取文件时遇到问题。不过,我按照@Konrad 的建议设法读取了我的文件,我对此表示赞赏:How to get R to read in files from multiple subdirectories under one large directory?

类似的问题,但是我没有解决。

我的问题:

我在不同的文件夹中有大量同名文件(“tempo.out”)。此 tempo.out 有 5 列/标题。它们都是相同的格式,1048 行和 5 列:

id X Y 时间温度

setwd("~/Documents/ewat")
dat.files <- list.files(path="./ress",
recursive=T,
pattern="tempo.out"
,full.names=T)
readDatFile <- function(f) {
dat.fl <- read.table(f)
}

data.filesf <- sapply(dat.files, readDatFile)

# I might not have the right sintax in sub5:
subs5 <- sapply(data.filesf,`[`,5)
matr5 <- do.call(rbind, subs5)

probs <- c(0.05,0.1,0.16,0.25,0.5,0.75,0.84,0.90,0.95,0.99)
q <- rowQuantiles(matr5, probs=probs)
print(q)

我想提取这数千个文件中每一个的第五列(temp)并进行分位数等计算。

我首先尝试读取“ress”中的所有子文件

后者没有给出错误,但我的主要问题是“data.filesf”不是矩阵而是列表,实际上第 5 列不是我所期望的。然后是:

matr5 <- do.call(rbind, subs5)

也没有给出所需的值/结果。

将列放入将成为一个巨大矩阵的最佳方法是什么?

最佳答案

尝试 lapply(data.filef,[,,5)希望这会有所帮助

关于r - 使用 sapply 的列表和矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888935/

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