Ścieżka do katalogu jako parametr w R
Mam prostą funkcję w R, która uruchamia summary () przez lapply () na wielu plikach CSV z jednego katalogu, który podaję. Funkcja jest pokazana poniżej:
# id -- the file name (i.e. 001.csv) so ID == 001.
# directory -- location of the CSV files (not my working directory)
# summarize -- boolean val if summary of the CSV to be output to console.
getMonitor <- function(id, dir, summarize = FALSE)
{
fl <- list.files(dir, pattern = "*.csv", full.names = FALSE)
fdl <- lapply(fl, read.csv)
dataSummary <- lapply(fdl, summary)
if(summarize == TRUE)
{ dataSummary[[id]] }
}
Kiedy próbuję określić katalog, a następnie przekazać go jako parametr funkcji w ten sposób:
dir <- "C:\\Users\\ST\\My Documents\\R\\specdata"
funcVar <- getMonitor("001", dir, FALSE)
Otrzymuję błąd:
Błąd w pliku (plik „rt”): nie można otworzyć połączenia. Dodatkowo: Komunikat ostrzegawczy: W pliku (plik, „rt”): nie można otworzyć pliku „001.csv”: Brak takiego pliku lub katalogu
Jednak gdy sam uruchomię poniższy kod:
fl <- list.files("C:\\Users\\ST\\My Documents\\R\\specdata",
pattern = "*.csv",
full.names = FALSE)
fl[1]
Znajduje katalog, na który wskazuję ifl [1] poprawnie wyprowadza[1] „001.csv” który jest pierwszym wymienionym plikiem.
Moje pytanie brzmi: co robię źle, gdy próbuję przekazać tę zmienną ścieżki jako parametr mojej funkcji. Czy R nie jest w stanie obsługiwać parametru w ten sposób? Czy czegoś mi brakuje? Próbowałem szukać i znałem inne języki programowania, więc szczerze mówiąc, czuję się trochę głupio / pokonany za utknięcie w tym momencie.