Маніпулювання Рядками
Як і стовпці, рядки у фреймі даних також можна додавати або видаляти.
Додавання окремих рядків
Щоб додати окремий рядок, можна призначити новий запис наступному доступному індексу рядка (nrow(data) + 1
). Оскільки фрейм даних може містити різні типи значень, новий рядок має бути наданий у вигляді списку (або фрейму даних).
За замовчуванням текстові значення можуть бути перетворені у фактори при створенні фреймів даних. Це може спричинити проблеми при додаванні нових рядків. Щоб уникнути цього, встановіть stringsAsFactors = FALSE
під час створення фрейму даних.
Приклад
123456789name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
Додавання кількох рядків
Інший спосіб додати рядки — об'єднання двох датафреймів з однаковими стовпцями за допомогою функції merge()
. Це дозволяє додати кілька рядків одночасно.
Приклад
123456789101112name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
Видалення рядків
Для видалення рядків використовуйте від’ємні індекси у квадратних дужках, як і для матриць.
Приклад
12345678name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
Swipe to start coding
У вас є дата-фрейм store
, який містить інформацію про товари, їхні ціни та кількість проданих одиниць у невеликому меблевому магазині.
Ваше завдання:
- Видалити рядок
'Dining chair'
(індекс 4) з дата-фреймуstore
. Переприсвойте результат зміннійstore
. - Додати новий рядок до дата-фрейму
store
за допомогою підходу зlist
з такими даними:
Item | Price | Sold |
---|---|---|
Kitchen cabinet | 70 | 67 |
- Вивести змінений дата-фрейм.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.27
Маніпулювання Рядками
Свайпніть щоб показати меню
Як і стовпці, рядки у фреймі даних також можна додавати або видаляти.
Додавання окремих рядків
Щоб додати окремий рядок, можна призначити новий запис наступному доступному індексу рядка (nrow(data) + 1
). Оскільки фрейм даних може містити різні типи значень, новий рядок має бути наданий у вигляді списку (або фрейму даних).
За замовчуванням текстові значення можуть бути перетворені у фактори при створенні фреймів даних. Це може спричинити проблеми при додаванні нових рядків. Щоб уникнути цього, встановіть stringsAsFactors = FALSE
під час створення фрейму даних.
Приклад
123456789name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
Додавання кількох рядків
Інший спосіб додати рядки — об'єднання двох датафреймів з однаковими стовпцями за допомогою функції merge()
. Це дозволяє додати кілька рядків одночасно.
Приклад
123456789101112name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
Видалення рядків
Для видалення рядків використовуйте від’ємні індекси у квадратних дужках, як і для матриць.
Приклад
12345678name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
Swipe to start coding
У вас є дата-фрейм store
, який містить інформацію про товари, їхні ціни та кількість проданих одиниць у невеликому меблевому магазині.
Ваше завдання:
- Видалити рядок
'Dining chair'
(індекс 4) з дата-фреймуstore
. Переприсвойте результат зміннійstore
. - Додати новий рядок до дата-фрейму
store
за допомогою підходу зlist
з такими даними:
Item | Price | Sold |
---|---|---|
Kitchen cabinet | 70 | 67 |
- Вивести змінений дата-фрейм.
Рішення
Дякуємо за ваш відгук!
single