Sto lavorando a un tutorial R e sospetto che devo utilizzare una di queste funzioni, ma non sono sicuro di quale (Sì, le ho ricercate ma fino a diventare più fluente nella terminologia R sono abbastanza confusi).Conteggio del numero di righe di una serie di file CSV
Nella mia directory di lavoro è presente una cartella "specdata". Specdata contiene centinaia di file CSV denominati 001.csv - 300.csv.
La funzione su cui sto lavorando deve contare il numero totale di righe per un numero inserito di file csv. Quindi, se l'argomento della funzione è 1:10
e ciascuno di questi file ha dieci file, tornare 100.
Ecco quello che ho finora:
complete <- function(directory,id = 1:332) {
setpath <- paste("/Users/gcameron/Desktop",directory,sep="/")
setwd(setpath)
csvfile <- sprintf("%03d.csv", id)
file <- read.csv(csvfile)
nrow(file)
}
Questo funziona quando l'argomento ID è un numero, dicono 17. Ma, se dire ingresso I 10:50 come argomento, ricevo un errore:
Error in file(file, "rt") : invalid 'description' argument
Cosa devo fare per essere in grado di contare il numero totale di righe dal parametro ID inputed?
Grazie. Quindi pochi follow up di Q se ne hai un secondo. 1) Dove inserisco questa linea? All'interno della funzione "completa" o dopo di essa? 2) Se dopo, non devo dichiarare nuovamente l'oggetto csvfile per l'ambito? 3) Il tuo parametro "function (f)" - è solo il nome della funzione che ho creato al suo posto? es. nrows <- sapply (csvfile, complete (f # cosa va qui?) nrow (read.csv (f) Come puoi senza dubbio dire che sto lottando un po 'con questo –
ho modificato la mia risposta. la tua funzione originale non resetta mai la directory di lavoro quando è terminata, è sbagliato. –
Grazie mille sono davvero grato per questo .Questo ha funzionato. Ora ho visto che posso dare un senso ad esso. –