Как вернуться к старому фрейму данных при удалении вновь добавленного столбца?
Проблема
Я объединил большое количество наборов данных в один фрейм данных. Затем я хочу использовать этот большой фрейм данных во всем своем коде. Однако иногда я хочу использовать только один из более мелких ранних наборов данных, но делать это с моим существующим большим фреймом данных. Я чувствую, что он поддерживает порядок в моей глобальной среде, имея только один набор данных.
Тем не менее, всякий раз, когда я удаляю столбцы в надежде, что мой большой фрейм данных вернется к предыдущему набору данных, он сохраняет все строки как дубликаты. См. Ниже, чтобы понять, что я имею в виду:
Реплекс
# Dataframe 1
lawyer <- as.data.frame(letters[1:20])
clients <- as.data.frame(seq(1:20))
location <- as.data.frame(rep(c("urban", "rural"), 10))
df <- cbind(lawyer, clients, location)
colnames(df) <- c("lawyer", "clients", "location")
# Dataframe 2
clients2 <- as.data.frame(rep(seq(1:20),5))
prop_poor <- as.data.frame(rep(seq(0, 0.9, by = 0.1),10))
df2 <- cbind(clients2, prop_poor)
colnames(df2) <- c("clients", "poverty")
# Large dataset
df_final <- left_join(df, df2, by = "clients")
remove(df, df2)
# Trying to get back to Dataframe 1 (to build a graph, for example)
dfx <- df_final %>% select(-poverty)
В приведенном выше примере я хочу, чтобы dfx вернулся к исходному df до того, как я добавил к нему df2. Тем не менее, он по-прежнему показывает 100 строк. Любая помощь будет оценена по достоинству.
Примечание
Причина моего подхода в том, что у меня очень много наборов данных, и моя глобальная среда в конечном итоге заполняется. Вместо этого я объединил их все в хороший большой набор данных и удалил другие, более мелкие, так что теперь моя глобальная среда менее загружена. Затем я хочу использовать подмножества в этом большом наборе данных для построения графиков с помощью ggplot2.
Я не уверен, что это хорошая практика, но мне все же нужно решение моей проблемы.
Спасибо.

1 ответ
Как правило, нет возможности вернуть исходную таблицу, поскольку в большой таблице просто недостаточно информации для ее восстановления.
Но если вы знаете, что исходные данные не имели дубликатов, вы можете просто удалить их:
dfx <- df_final %>%
select(-poverty) %>%
distinct()
Другие вопросы
- Создайте сводную таблицу двух категориальных и числовых переменных1 ответ
У меня есть следующий гипотетический фреймворкRegion <- c("District A", "District B","District A","District A","District B") Gender <- c("Male","Male","Female", "Male","Female") Age <- c(20, ...
- Создайте цикл для генерации имен столбцов в большом списке1 ответ
Я хотел бы создать цикл, чтобы изменить имена столбцов, как показано:a <- c("day", "month", "year", "flow") У меня есть большой список из 6937 элементов, которые мне удалось импортировать в R:library(tidyverse) library(readtext) txt_files_ls <- paste...
- Построение лаговой матрицы в R1 ответ
Каждый год несколько человек переезжают в деревню. Это представлено следующим вектором:x <- c(304, 213, 688, 400, 122, 449, 143, 90) Ежегодно из села уезжает 10% людей. Доля людей из каждой когорты, остающихся через определенное количество лет (за 10 лет):decay <- (1-0.1)^(0:10) Используя R, к...
- Извлечь данные совместной встречаемости из фрейма данных3 ответ
У меня примерно так: fromJobtitle toJobtitle size 0 CEO CEO 65 1 CEO Vice President 23 2 CEO Employee 56 3 Vice President CEO 112 4 Employee CEO 20 Я хотел бы по...
- назначать имена столбцам фреймов данных в списке1 ответ
У меня есть список фреймов данных# Create dummy data df1<-data.frame( c(1,2,3),c(2,3,4)) df2<-data.frame(c(5,6,7),c(4,5,6)) # Create a list l<-list(df1, df2) Я хочу присвоить столбцам имена. В видеl[[1]][,1] дает мне доступ к первому столбцу, я думал, что могу назначить 'names' в ...
- Как разделить все остальные элементы из огромного столбца списка в Python3 ответ
У меня есть огромный список в Python в одном столбце, и мне нужно разделить все фрукты, цвета и т. Д. Из списка и создать dafaframe.example details=['banana', 'type:', 'fruit', 'color:', 'yellow', 'orange', 'type:', 'fruit', 'color:', 'orange', 'blueberry', 'type:', 'fruit', 'color:', '...
- Моя горизонтальная полоса обрезает текст, когда я сохраняю изображение. Как сделать полосы короче, а текст длиннее?1 ответ
Я новичок в R, так что простите мое невежество. Итак, я создал базовую горизонтальную гистограмму, используяbarplot( ). Мой текст на оси Y в основном исчезает. [IMG_OUR_ID=67.png] [IMG_OUR_ID=68.png] Есть ли способ удлинить и отобразить текст? Это мой код:barplot(mydata$`Sum Impact Risk`~mydata$`Eco...
- Применение значений к столбцу на основе сравнения значений в других столбцах в разных строках в Pandas1 ответ
Я уже искал в Интернете свою проблему, но ничего похожего. Я новичок в пандах. У меня огромный фрейм данных, около 800К строк. Из 800 тыс. Строк 200 тыс. Из них являются дубликатами, что указывает на владельца, который владеет несколькими автомобилями под одним и тем же номером SSN (может иметь друг...
- Как добавить две колонки с пандами?3 ответ
Я пытаюсь очистить выбросы в наборе данных с помощью цикла:df_cleaned = pd.DataFrame() for grade in df.Grade.unique(): df_per_grade = df[df['Grade']==grade] for column in df_per_grade.columns[5:-2]: df_clean = pd.DataFrame(df_per_grade['Grade', 'Shift']) df_clean[column] = d...
- Не удается усечь фрейм данных pandas из quandl1 ответ
[IMG_OUR_ID=8840.png] Все мои данные извлекаются изquandl вpandas фреймы данных. По какой-то причине, когда я вызываю усечение функции фрейма данных, кажется, что это не действует.oil = pd.DataFrame(qd.get('OPEC/ORB')) plat= pd.DataFrame(qd.get('LPPM/PLAT', column_index='1')) pall = pd.DataFrame(qd....

"Завидую тестировщикам: все хотят с ними дружить."