У меня есть несколько файлов, на которых я хочу использовать те же скрипты. Я борюсь с тем, как именно «связывать» вместе функцию lapply со сценариями, которые я хочу использовать., соединяющий функцию lapply с несколькими файлами csv
Это расширение applying R script prepared for single file to multiple files in the directory
filenames<-list.files("NEWELKYR",pattern="*.csv",full.names=T)
mycsv=dir(pattern=".csv")
n<-length(mycsv)
mylist<-vector("list",n)
for(i in 1:n) mylist[[1]] <- read.csv(mycsv[i])
mylist<-lapply(mylist,function(x) #what do I put here?#
GROUP[1] <- 1
Xdist[1] <- XLOC[2] - XLOC[1]
Ydist[1] <- YLOC[2] - YLOC[1]
NSD[1] <- as.integer(sqrt(Xdist[1]^2+Ydist[1]^2))
for (j in 2:(nrow()-1)) {
if (NSD[j-1] > 1700) {
Xdist[j] <- XLOC[j+1] - XLOC[j]
Ydist[j] <- YLOC[j+1] - YLOC[j]
NSD[j] <- as.integer(sqrt(Xdist[j]^2+Ydist[j]^2))
GROUP[j] <- (GROUP[j-1] + 1)
} else {
Xdist[j] <- XLOC[j+1] - XLOC[j] + Xdist[j-1]
Ydist[j] <- YLOC[j+1] - YLOC[j] + Ydist[j-1]
NSD[j] <- as.integer(sqrt(Xdist[j]^2+Ydist[j]^2))
GROUP[j] <- (GROUP[j-1])
}}
)
for(i in 1:n)
write.csv(file=paste("file",i,".csv",sep="")),
mylist[i],row.names=F)
информация Справочная информация о сценарии можно найти здесь: calculating Net Squared Displacement and repeating at 0 when target is reached
Вы пытаетесь вычислить попарные расстояния? Может быть, функция 'dist' поможет вам здесь. –
Нет, каждый файл csv содержит местоположения отдельного животного. Я кодирую его, чтобы вычислить объемное квадратное смещение до достижения 1700 м, а затем снова начать вычисление. – odocoileus
Что такое 'GROUP'? Есть ли несколько животных в каждом csv? –