Функция transform() в R - Преобразование данных
Функция transform() в R используется для добавления новых столбцов или изменения существующих столбцов в датафрейме.
transform() делает операции преобразования данных более краткими, избавляя от необходимости многократно писать префикс df$.
Формат синтаксиса функции transform() выглядит следующим образом:
transform(`_data`, ...)
Описание параметра:
_dataВходной датафрейм.
...Определение новых столбцов (например, имя нового столбца = выражение).
Пример
# Исходный датафрейм
df <- data.frame(
Name= c("Zhang San", "Li Si", "Wang Wu", "Чжао Лю"),
Math= c(88, 92, 76, 85),
Английский= c(90, 88, 82, 78),
stringsAsFactors = FALSE
)
print("Исходные данные:")
print(df)
# Добавить новые столбцы: общий балл и средний балл
df_new <- transform(df,
Total score=Math+English,
Average score= round((Math+English) / 2, 1),
Оценка= ifelse(Средний балл>= 85, "Отлично", ifelse(Средний балл>= 80, "Хорошо", "Средний"))
)
print("После добавления новых столбцов:")
print(df_new)
df <- data.frame(
Name= c("Zhang San", "Li Si", "Wang Wu", "Чжао Лю"),
Math= c(88, 92, 76, 85),
Английский= c(90, 88, 82, 78),
stringsAsFactors = FALSE
)
print("Исходные данные:")
print(df)
# Добавить новые столбцы: общий балл и средний балл
df_new <- transform(df,
Total score=Math+English,
Average score= round((Math+English) / 2, 1),
Оценка= ifelse(Средний балл>= 85, "Отлично", ifelse(Средний балл>= 80, "Хорошо", "Средний"))
)
print("После добавления новых столбцов:")
print(df_new)
Выполнение приведённого выше кода выводит следующий результат:
[1] "原始数据:" 姓名 数学 英语 1 张三 88 90 2 李四 92 88 3 王五 76 82 4 赵六 85 78 [1] "添加新列后:" 姓名 数学 英语 总分 平均分 评价 1 张三 88 90 178 89.0 优秀 2 李四 92 88 180 90.0 优秀 3 王五 76 82 158 79.0 一般 4 赵六 85 78 163 81.5 良好Другие расширения
Примеры на языке R