ci-dessous est le code. Il semble que je n'ai pas réussi à définir les vecteurs 'nobs', 'cor' correctement et l'instruction if essaye d'évaluer une valeur NA. Quelqu'un peut-il me signaler mon erreur? Merci, TamirErreur dans Si la déclaration dans R
corr<-function(directory, threshold=0){
allfiles<-list.files("specdata", full.names = TRUE)
NumOfFiles<-length(allfiles)
n<-1
id<-vector()
nobs<-vector()
cor<-vector()
for (i in NumOfFiles){
data<-read.csv(allfiles[i])
cleandata<-data[complete.cases(data),]
id[n]=i
nobs[n]<-sum(complete.cases(data)) #Number of completre cases
n<-n+1
if (nobs[n]>threshold){
cor[n]<-cor(cleandata[sulfate],cleandata[nitrate])
}
}
return(cor)
}
Votre code, tel qu'il est, est erroné. Rendez-le reproductible. – Khashaa
Pour vous aider dans la bonne direction: 1. vous n'écrivez pas sur un vecteur. 2. vous utilisez des variables pour l'indexation (n et i), et vous augmentez n, puis essayez d'accéder aux données stockées à cette position. 3 vous utilisez le nom d'une fonction de base ('cor') comme nom de variable). 4. Vous accédez incorrectement aux colonnes de votre dataframe. – Heroka