|
大家好!我是R初学者,请教点简单问题,请高手帮助,谢谢!
问题如下:
编写用于获取数据文件目录和完整案例阈值的函数,并计算监测位置中硫酸盐和硝酸盐之间的相关性,其中完整观测的案例数(针对所有变量)大于阈值。该函数将返回监测点的相关性向量,以满足阈值要求。如果没有监测点可以满足阈值要求,则该函数将返回长度为0的数值向量。该函数的原型如下
corr <- function(directory, threshold = 0) { ## 'directory' 是长度为1的字符向量,指明 ## CSV 文件的位置 ## 'threshold' 是长度为1的数值向量,指明 ## 完整观测的案例的数量 (针对所有 ## 变量) 是必须的,为了计算这两个的相关性: ## 硝酸盐(nitrate)和硫酸盐(sulfate); 默认值为 0 ## 返回相关性的数值向量}在这个函数中你需要使用R中的 'cor'函数,它是用来计算两个向量之间的相关性。
我编写的代码是:
files_full = list.files(directory, full.names=TRUE)
output=sapply(files_full,function(file)
{
omittmp=na.omit(read.csv(file,header=T))
sumtmp=sum(omittmp)
correlation=as.data.frame(cor(omittmp$nitrate,nitrate$sulfate))
data_comp=cbind(sumtmp,correlation)
data_comp
})
output
总是出现错误信息,我应该怎么改呢?我写的代码还有哪些错误呢?
错误信息如下:
Error in FUN(X[[1L]], ...) : only defined on a data frame with all numeric variables
|
|