У меня был большой набор данных, созданный и сделанный так на куски. Я создал 50 кадров данных (F1: F50), а затем я слил их вместе с:R - создание объектов null
for(i in 1:50) {x= get(paste0("F",i))
zF <- rbind.fill(zF,x)}
Однако теперь я пытаюсь очистить другие объекты.
После того, как они NULL
я использую
rm(list=names(which(sapply(globalenv(),is.null))))
Возможно, я мог бы изменить is.null()
к чему-то, как шаблон, который описывает свои объекты, но я подумал, что было бы проще просто посмотреть и сделать каждый NULL
поэтому я попытался несколько попыток:
> for(i in 1:56) {get(paste0("F",i))
paste("F",i)=NULL}
Error in paste("F", i) = NULL :
target of assignment expands to non-language object
> for(i in 1:56){get(paste0("F",i))=NULL}
Error in get(paste0("F", i)) = NULL :
target of assignment expands to non-language object
Так где верхний цикл работал, но это не удалось подразумевает мне, что в то время как get
даст вам данные для репликации (в виде x
), а затем использовать, он не позволяет мне изменять фактический объект.
Есть ли способ сделать это или это решение с помощью rm
, я бы предпочел бывшую, поскольку она открывает будущие изменения в объектах, кроме просто избавления от них.
Спасибо, есть способ использовать получить или аналогичную функцию в случае, если я хочу, чтобы это сделать сюда. В моем первом коде с использованием x было достаточно, но, например, я хотел бы изменить класс каждого объекта, Id должен создать загрузку манекенов, rm оригиналов, а затем переименовать макеты. – Olivia
Вы можете создать список своих объектов с помощью 'ls (pattern = ..)', а затем применить нужную функцию с семейством 'apply' к объектам' get'ted: 'my_list <- ls (pattern = '^F '); sapply (my_list, function (x) {as.numeric (get (x))}) ' – GGamba