r - 我如何不让 R 覆盖其他值
问题描述
这是我的功能
complete <- function(directory, id = 1:332) {
files_list <- list.files(directory, full.names = TRUE)
nobs <- numeric()
for (i in id) {
nob <- sum(complete.cases(read.csv(files_list[i])))
}
nobs <- c(nobs, nob)
dat <- return(data.frame(id, nobs))
}
complete(specdata, 1)
complete(specdata, c(2, 4, 8, 10, 12))
这返回
> complete(specdata, 1)
id nobs
1 1 117
> complete(specdata, c(2, 4, 8, 10, 12))
id nobs
1 2 96
2 4 96
3 8 96
4 10 96
5 12 96
虽然我得到了正确的单个值,但不同的 id 应该有不同的结束值,目前,所有值都被最终值覆盖。
如何让它不这样做?
解决方案
谢谢大家,我最终找到了另一种方法。
complete <- function(directory, id = 1:332){
files_list <- list.files(directory, full.names = T) # creates a list of files.
dat <- data.frame() #creates an empty data frame
nobs <- numeric()
for (i in id) {
dat <- read.csv(files_list[i])
nobs <- c(nobs, sum(complete.cases(dat)))
}
return(data.frame(id, nobs))
}
推荐阅读
- r - 根据选项卡选择在闪亮仪表板的右侧栏中显示 controlbarMenu()
- ansible - 有什么方法可以在替换调用中使用变量中的整个正则表达式(是否已翻译)?
- python - 用 numpy 从两个数组创建新的子数组
- javascript - Javascript API 调用导致我的 Web 应用程序冻结
- python - 尝试将 JSON 解析为字典的问题
- html - 合并 HTML 表格中的单元格
- c# - 返回列表 C# MVC 时如何处理空值
- python - TypeError:只能将str(不是“float”)连接到str
- blazor - 后端更新失败时 Blazor 恢复值
- r - 如何通过在长格式数据集上使用迭代方法来拟合快速混合模型