Применить функции в разных файлах CSV в R с - PullRequest
2 голосов
/ 16 марта 2019

Уже провел некоторое исследование о циклах в R и обнаружил, что большинство из них сосредоточены только на том, как изменить имя файла или переменной с помощью таких циклов, как Изменение имени переменной для цикла с помощью R может найти хорошее решение издругие статьи блоггеров ....

Вот что я хочу сделать с моими исходными данными (s1P ... s9P), чтобы получить новые данные (s1Pm ... s9Pm), рассчитав их средства в соответствии сбазовый столбец в (s1P ... s9P).

Выполнение следующих строк одна за другой - это нормально, однако, похоже, должна быть возможность использовать циклы, чтобы привести их в порядок.

Любые предложения приветствуются.Хороших выходных!

s1Pm = aggregate(s1P, list(s1P$Datum), mean)
s2Pm = aggregate(s2P, list(s2P$Datum), mean)
s3Pm = aggregate(s3P, list(s3P$Datum), mean)
s4Pm = aggregate(s4P, list(s4P$Datum), mean)
s5Pm = aggregate(s5P, list(s5P$Datum), mean)
s6Pm = aggregate(s6P, list(s6P$Datum), mean)
s7Pm = aggregate(s7P, list(s7P$Datum), mean)
s8Pm = aggregate(s8P, list(s8P$Datum), mean)
s9Pm = aggregate(s9P, list(s9P$Datum), mean)

1 Ответ

2 голосов
/ 16 марта 2019

Мы можем загрузить все объекты в list с помощью mget, а затем применить aggregate, пройдя по list

outLst <- lapply(mget(paste0("s", 1:9, "P")), 
             function(x) aggregate(x, list(x$Datum), mean))
names(outLst) <- paste0(names(outLst), "m")

Лучше сохранить вывод в list, а не создавать несколько объектов. Но это также можно сделать

list2env(outLst, envir = .GlobalEnv)

хотя и не рекомендуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...