У меня есть фрейм данных «data_all», представляющий собой список, содержащий 67 элементов.
Для каждого элемента я вычисляю среднее значение первого столбца «EDA».
Для этого я использую for-loop:
for (i in seq_along(data_all)) {
mean_all[i] <- print(round(mean(data_all[[i]][["EDA"]]), digits=3))
}
Проблема:
В глобальной среде «i» определяется как «1L», одно значение вместо 67 значений. Значения: i = 1L
Я попытался удалить значение "i" с помощью rm (i) и снова загрузил коды. Я также закрыл и перезапустил программу и снова импортировал все данные.
По какой-то причине «i» зарегистрирован как «1L», хотя мой список «data_all» содержит 67 элементов.
В какой-то момент я смог выполнить расчеты, и код сработал. В следующий раз, когда я открыл программу, она больше не работала.
Я попытался погуглить проблему, но не смог найти никого с такими же проблемами.
Вот выдержки из моего r-кода:
Импортированные данные:
filenames <- list.files(pattern="*.dat", full.names=FALSE)
data_all <- lapply(filenames, function(x) read.delim(x, "", header = TRUE, sep = ";", quote = "\"", dec = ",", fill = TRUE))
For-loop:
for (i in seq_along(data_all)) {
mean_all[i] <- print(round(mean(data_all[[i]][["EDA"]]), digits=3))
}
Ошибка:
[1] 10,938
Ошибка: объект 'mean_all' не найден`
Я ожидал список из 67 элементов:
[1] 10.56
[1] 12.46
...
[1] 13.72
Вместо этого я получаю только один результат:
[1] 10.938
и поскольку «i» содержит только одно значение вместо 67, r не может сохранить вывод как новую переменную «mean_all [i]»
Буду признателен за помощь в решении этой проблемы. Я не против того, чтобы разобраться в этом сам, если бы я только знал, где искать помощь.
Заранее спасибо.