Разделение данных
Нередко данные для нескольких групп хранятся в одном фрейме данных. Именно так был устроен фрейм cash в главе 3: столбцы cash_flow и year содержали данные для двух групп (компаний A и B). Что если нужно разбить этот фрейм на два отдельных — по столбцу company? В следующем упражнении вы разберётесь, зачем это может понадобиться, а сейчас давайте разберёмся, как это сделать с помощью функции split().
Создайте grouping для разбивки и используйте split(), чтобы получить список из двух фреймов данных.
grouping <- cash$company
split_cash <- split(cash, grouping)
split_cash
$A
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
$B
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
Чтобы восстановить исходный фрейм данных, используйте unsplit(split_cash, grouping).
Это упражнение является частью курса
Введение в R для финансов
Инструкции к упражнению
- Фрейм данных
cashдоступен в вашем рабочем пространстве. - Создайте новую переменную
groupingна основе столбцаyear. - Используйте
split(), чтобы разбитьcashна список из 5 фреймов данных по значениюyear. Результат сохраните в переменнуюsplit_cash. - Выведите
split_cashна экран. - Используйте
unsplit(), чтобы снова объединить фреймы данных. Результат сохраните в переменнуюoriginal_cash. - Выведите
original_cashи сравните его с исходным фреймом данныхcash.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define grouping from year
grouping <-
# Split cash on your new grouping
split_cash <-
# Look at your split_cash list
# Unsplit split_cash to get the original data back.
original_cash <-
# Print original_cash