gpt4 book ai didi

r - 循环返回累积结果,而不是离散的

转载 作者:行者123 更新时间:2023-12-02 01:17:50 27 4
gpt4 key购买 nike

我正在尝试从多个数据文件中提取信息——具体来说,每个文件中存在多少条完整记录。

这是我写的:

complete <- function(directory, id=1:332) {
files_senscomp <- list.files(directory, full.names=TRUE)[id]
pre_dat <- data.frame()
full_dat <- data.frame()

for (i in seq(files_senscomp)) {
pre_dat <- rbind(pre_dat, read.csv(files_senscomp[i]))
nobs <- sum(complete.cases(pre_dat))
id <- i
full_dat <- rbind(full_dat,data.frame(id,nobs))
}
full_dat
}

不过,它返回的是累积的。而且ID不正确。这是实际的功能和结果:

> complete("specdata", 40:45)
id nobs
1 1 21
2 2 248
3 3 308
4 4 382
5 5 665
6 6 1089

为什么这不返回 ID 40-45,以及单个文件的“nobs”结果,而不是所有文件的组合到该点?

最佳答案

这样做:

for (i in seq(files_senscomp)) {
pre_dat <- read.csv(files_senscomp[i]) ## no `rbind`
nobs <- sum(complete.cases(pre_dat))
ID <- id[i] ## `id` is your function argument, taking `40:45`
full_dat <- rbind(full_dat,data.frame(id = ID, nobs = nobs))
}

关于r - 循环返回累积结果,而不是离散的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768807/

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