Function R函数,如果条件满足,则计算数据帧两个元素之间的相关性
所以我已经试着让这个函数工作了好几天 功能行为应如下所示:Function R函数,如果条件满足,则计算数据帧两个元素之间的相关性,function,r,Function,R,所以我已经试着让这个函数工作了好几天 功能行为应如下所示: 转到抛出多个指定的csv=id 读取.csv并在一个数据帧中对其进行rbind 删除所有具有na值的行,并仅保留完整的行。条件1 然后,如果数据[行编号,列1]+数据[行编号,列2]>阈值之和, 然后我们保留该行,否则该行将被删除 最后,将元素1与元素2关联起来,并返回所有关联完成的列表 我的代码: corr <- function(directory,threshold = 0,id = 1:332) { file.l
corr <- function(directory,threshold = 0,id = 1:332) {
file.list <- list.files(directory, full.names = T)
dat <- data.frame()
for(i in id) {
dat <- rbind(dat,read.csv(file.list[i]))
}
complete_rows <- dat[complete.cases(dat),]
z <- data.frame()
z <- complete_rows[,2:3]
y <- data.frame()
y <- rowSums(z) > threshold
x <- data.frame()
x <- z[y,1:2]
for( i in x[1:nrow(x),]){
cor(x[i,1],x[i,2], method = c("pearson"))
}
}
corr试试这个:
corr <- function(directory, threshold = 0) {
files <- list.files(directory, full.names = T)
dat2 <- lapply(files, function(x) na.omit(read.csv(x)))
size <- unlist(lapply(dat2, nrow))
cors <- lapply(dat2[size > threshold], function(x) cor(x['nitrate'], x['sulfate']))
res <- unname(unlist(cors))
}
corr试试这个:
corr <- function(directory, threshold = 0) {
files <- list.files(directory, full.names = T)
dat2 <- lapply(files, function(x) na.omit(read.csv(x)))
size <- unlist(lapply(dat2, nrow))
cors <- lapply(dat2[size > threshold], function(x) cor(x['nitrate'], x['sulfate']))
res <- unname(unlist(cors))
}
corr您的代码可能需要一些清理。例如,您不需要z,我在末尾对它做了一点修改,使其在没有For循环的情况下尝试xcor(x[,1],x[,2])
您的代码需要一些清理。例如,您不需要z,我在末尾对它做了一点修改,使其在没有For循环的情况下尝试xcor(x[,1],x[,2])
您的代码需要一些清理。例如,您不需要z,我在末尾对它做了一点修改,使其在没有For循环的情况下尝试x<代码>cor(x[,1],x[,2])