Как удалить столбец r
Перейти к содержимому

Как удалить столбец r

  • автор:

Как удалить столбцы из фрейма данных в R (с примерами)

Самый простой способ удалить столбцы из фрейма данных в R — использовать функцию subset() , которая использует следующий базовый синтаксис:

#remove columns var1 and var3 new_df  

В следующих примерах показано, как использовать эту функцию на практике со следующим фреймом данных:

#create data frame df  

Пример 1. Удаление столбцов по имени

В следующем коде показано, как удалить столбцы из фрейма данных по имени:

#remove columns var1 and var3 new_df  

Пример 2. Удаление столбцов по индексу

В следующем коде показано, как удалить столбцы из фрейма данных по индексу:

#remove first and fourth columns new_df  

Пример 3: удаление столбцов в списке

В следующем коде показано, как удалить из фрейма данных столбцы, принадлежащие определенному списку:

#define list of columns to remove remove_cols  

Пример 4: удаление столбцов в диапазоне

В следующем коде показано, как удалить столбцы из фрейма данных в определенном диапазоне:

#remove columns in range of 1 to 3 new_df = subset(df, select = - c(1:3)) #view updated data frame new_df var4 1 14 2 16 3 22 4 19 5 18 

Как удалить столбцы в R (с примерами)

Часто вам может понадобиться удалить один или несколько столбцов из фрейма данных в R. К счастью, это легко сделать с помощью функции select() из пакета dplyr .

library(dplyr) 

В этом руководстве показано несколько примеров использования этой функции на практике с использованием следующего фрейма данных:

#create data frame df  

Пример 1: удаление столбцов по имени

В следующем коде показано, как удалить столбцы из фрейма данных по имени:

#remove column named 'points' df %>% select(-points) player position rebounds 1 a G 5 2 b F 7 3 c F 7 4 d G 12 5 e G 11 

Пример 2: удаление столбцов в списке

В следующем коде показано, как удалить столбцы из фрейма данных, которые находятся в определенном списке:

#remove columns named 'points' or 'rebounds' df %>% select(-one_of('points', 'rebounds')) player position 1 a G 2 b F 3 c F 4 d G 5 e G 

Пример 3: удаление столбцов в диапазоне

В следующем коде показано, как удалить все столбцы в диапазоне от «позиция» до «отборы»:

#remove columns in range from 'position' to 'rebounds' df %>% select(-(position:rebounds)) player 1 a 2 b 3 c 4 d 5 e 

Пример 4. Удаление столбцов, содержащих фразу

В следующем коде показано, как удалить все столбцы, содержащие слово «точки».

#remove columns that contain the word 'points' df %>% select(-contains('points')) player position rebounds 1 a G 5 2 b F 7 3 c F 7 4 d G 12 5 e G 11 

Пример 5. Удаление столбцов, начинающихся с определенных букв

Следующий код показывает, как удалить все столбцы, начинающиеся с букв «po»:

#remove columns that start with 'po' df %>% select(-starts_with('po')) player rebounds 1 a 5 2 b 7 3 c 7 4 d 12 5 e 11 

Пример 6. Удаление столбцов, заканчивающихся определенными буквами

В следующем коде показано, как удалить все столбцы, оканчивающиеся на букву "s":

#remove columns that end with 's' df %>% select(-ends_with('s')) player position 1 a G 2 b F 3 c F 4 d G 5 e G 

Пример 7: удаление столбцов по положению

Следующий код показывает, как удалить столбцы в определенных позициях:

#remove columns in position 1 and 4 df %>% select(-1, -4) position points 1 G 12 2 F 15 3 F 19 4 G 22 5 G 32 

Примечание.Полную документацию по функции select() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции с помощью dplyr:

Урок 1 Функции select(), rename_with() и relocate()

Первый урок курса посвящён таким операциям, как продвинутый выбор столбцов, их переименование и изменения порядка столбцов таблицы.

В этом видео уроке мы познакомимся с такими функциями как: select() , rename_with() , relocate() , any_of() , all_of() .

1.2 Видео

1.3 Код

#devtools::install_github("tidyverse/dplyr") library(dplyr, warn.conflicts = FALSE) # rename # Переименовать столбцы для устранение дублирования их имён df1  tibble(a = 1:5, a = 5:1, .name_repair = "minimal") df1 df1 %>% rename(b = 2) # select # обращение к столбцам по типу df2  tibble(x1 = 1, x2 = "a", x3 = 2, y1 = "b", y2 = 3, y3 = "c", y4 = 4) # числовые столбцы df2 %>% select(is.numeric) # НЕ текстовые столбцы df2 %>% select(!is.character) # смешанный тип обращения # числовые стобцы, название которых начинается на X df2 %>% select(starts_with("x") & is.numeric) # выбор полей с помощью функций any_of и all_of vars  c("x1", "x2", "y1", "z") df2 %>% select(any_of(vars)) df2 %>% select(all_of(vars)) # функция rename_with df2 %>% rename_with(toupper) df2 %>% rename_with(toupper, starts_with("x")) df2 %>% rename_with(toupper, is.numeric) # relocate для изменения порядка стобцов df3  tibble(w = 0, x = 1, y = "a", z = "b") # переместить столбцы y, z в начало df3 %>% relocate(y, z) # переместить текстовые столбцы вначало df3 %>% relocate(is.character) # поместить столбец w после y df3 %>% relocate(w, .after = y) # поместить столбец w перед y df3 %>% relocate(w, .before = y) # переместить w в конец df3 %>% relocate(w, .after = last_col())

1.4 Упражнения

Для примера мы будем использовать встроенный набор данных iris , выполните следующие действия:

  1. Выберите все столбцы, которые заканчиваются на Width .
  2. Переместите с помощью функции relocate() единственный текстовый столбец в левую часть таблицы.
  3. Замените с помощью функции rename_with() в названии столбцов точку на нижнее подчёркивание, и преобразуйте имена в нижний регистр.

Python R Как удалить строки в CSV файле по аналогичному значению столбца другого CSV файла

Иначе говоря из 1 файла нужно удалить строки с встречающимися id файла 2 и записать остаток в 3 файл. Пытался через сравнение строк решить задачу, но как потом выяснил после id строки не идентичны и способ не сработал. Через pandas нет опыта вычитать строки по столбцам. Ещё иными словами - нужно найти повторяющиеся значения в столбцах id 1 и 2 файлов и удалить строчки с этими id в 1 файле.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *