У меня есть список фреймов данных, который был получен из чтения в 25 CSV-файлах одновременно. Я хотел бы заблокировать кадры данных, чтобы начать пространственный анализ. То есть, я хотел бы иметь отдельные кадры данных для каждого элемента списка.Создайте отдельную переменную для каждого элемента списка
Я пробовал unlist()
, но это не дает результат, который я хочу. Я также пробовал подход с lapply()
, но он вызывает ошибку. Вот что я пробовал:
x <- 1:3
y <- 4:6
l <- lapply(1:2, function(x){data.frame(x, y)})
lapply(1:length(l), function(i){paste('df', i, sep = '') <- data.frame(l[[i]])})
Проблема заключается в назначении кадра данных вложенному имени. Обернуть его as.character()
не помогло.
Это делает работу:
"df1" <- data.frame(l[[1]])
Кажется, что проблема находится где-то на выходе моей paste()
функции, но выход есть str()
«CHR». Любые идеи, как я могу заставить мой подход работать? Есть ли более чистый способ заблокировать мои кадры данных?
'? Assign', если вы чувствуете, что должны это сделать, или'? Attach'. Однако держать их в списке, как правило, гораздо лучше. – baptiste
Не в теме, но зачем приписывать '' df1'' работу? Я бы этого не ожидал. – Marius
@Marius - из '?" <- "' где он указывает 'x <- value' и' x: имя переменной (возможно, указано) 'Так что это означает' '<-" (blah, 1:10) 'и '" <- "(" blah ", 1:10) дают тот же результат. – thelatemail