R - перебрать несколько файлов - PullRequest
0 голосов
/ 30 мая 2019

Я хочу применить этот код к нескольким спискам фреймов данных (df).

df1<- lapply(df1, function(x) {
  x$Date <- as.Date((x$Date), format="%Y-%m-%d")
  x})

Списки данных называются df1, df2, df3, df4 и abc1, abc2, abc3, abc4. Столбец Дата всегда находится на одном и том же месте.

Я пытался это сделать, чтобы сделать df1-4, но это не работает.

for (i in 1:4) {
  df[i] <- lapply(df[i], function(x) {
  x$Date <- as.Date((x$Date), format="%Y-%m-%d")
  x})}

Я также думал о том, чтобы поместить все имена файлов в список и выполнить цикл с этим:

df_list = c("df1","df2", "df3", "df4", "abc1", "abc2", "abc3", "abc4")

Но мне это не удалось. Я хочу сохранить оригинальные имена файлов. Есть предложения?

1 Ответ

1 голос
/ 30 мая 2019
for(i in 1:length(df_list)) {
  df_list[[i]] <- lapply(df_list[[i]], function(x) {
    x$Date <- as.Date((x$Date), format="%Y-%m-%d")
    x})
}

Это работает для вас?

Для меня это так:

class(df_list[[1]][[1]]$Date)
[1] "Date"

Похоже, ваша ошибка произошла из-за того, что вы использовали [] вместо [[]].Вы должны использовать двойные скобки для ссылки на data.frame.

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