我得到的错误是'[.data.frame'中的错误(current_dataset,complete.cases(current_dataset)):未选择的列被选中".我试图找到问题,但无法弄明白.
我想要的功能是:首先,它会浏览几个包含不同位置的硫酸盐和硝酸盐信息的文件.这些文件都包含'csv',因此myfiles将用作向量以轻松引用文件.然后我想遍历332个文件,读取它,并检查是否有足够的完整案例(这个数字是函数中的参数).如果是这种情况,我想将所有完整的案例(硫酸盐和硝酸盐数据)添加到先前定义的数据框中.最后,我想回到硫酸盐和硝酸盐之间的相关性.
corr <- function(directory, threshold = 0) {
#store data frame that holds sulfate amount and nitrate amount that meet threshold and are complete cases
data <- data.frame(sulfate = numeric(0), nitrate = numeric(0))
#set working directory
setwd(directory)
#get file names
myfiles <- list.files(pattern = "csv")
#loop through files
for(i in 1:332) {
#read each file
current_dataset <- read.csv(myfiles[i])
#check if there are enough compelte cases to meet threshold
if(sum(complete.cases(current_dataset)) > threshold) {
#get complete cases
complete_cases <- current_dataset[complete.cases(current_dataset)]
#add sulfate and nitrate info to table
data <- rbind(data, data.frame(sulfate = complete_cases$sulfate[i], nitrate = complete_cases$nitrate)[i])
}
}
#get correlation
cor(data)
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
complete_cases <- current_dataset[complete.cases(current_dataset)]
Run Code Online (Sandbox Code Playgroud)
应该:
complete_cases <- current_dataset[complete.cases(current_dataset), ]
Run Code Online (Sandbox Code Playgroud)
单个参数将[被视为要选择的一组列.您可以包含逗号并省略列选择以选择行.