Начинающий за l oop в R не зацикливается - PullRequest
0 голосов
/ 24 января 2020

Спасибо за чтение этой записи. Я - начинающий студент R и имею for (), который не будет l oop через все мои записи.

for (i in 1:9){
maximum<-max(read.csv(paste("data2013010",i,".csv", sep=""),row.names=1))
print(paste("The max of data2013010",i,".csv"," is", maximum))
}

[1] "The max of data2013010 9 .csv  is 1014.5"

Я не могу передать эту функцию l oop через все 9 значений в моем векторе. Мое первое предположение: мне может понадобиться использовать счетчик, я на правильном пути или в моем коде отсутствует ключевой элемент?

Примечание. Это должно быть for () l oop

1 Ответ

1 голос
/ 24 января 2020

Вы управляете целым for l oop? Кажется, у меня все работает, когда я пытаюсь воссоздать вашу проблему.

Кроме того, если вы только начинаете с R, я бы порекомендовал изучить инструменты из пакета tidyverse. Они делают ваш код намного проще и легче для чтения (и поиска ошибок).

Например, ваш for l oop может быть переписан следующим образом с помощью tidyverse:


# Put names of all .csv files that start with "data2013010" into a vector called "data_files"

data_files <- list.files() %>% 
  str_extract('^data2013010\\d+\\.csv') %>% 
  na.omit()

# Iterate across the data_files vector to find the maximum of each element

purrr::map(data_files, ~ read_csv(.x) %>%
             max(.))

...