A: как добавить столбец во фрейм данных на основе других столбцов


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

 #add new column 'col3' with values based on columns 1 and 2
df$col3 <- with (df, ifelse (col1 > col2, value_if_true, value_if_false))

Следующие примеры показывают, как использовать этот синтаксис на практике.

Пример 1. Добавление столбца символов на основе других столбцов

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1 Mavs 99 95
2 Cavs 90 80
3 Spurs 84 87
4 Nets 96 95

#add 'result' column based on values in 'scored' and 'allowed' columns
df$result <- with (df, ifelse (scored > allowed, ' Win ', ' Loss '))

#view updated data frame
df

   team scored allowed result
1 Mavs 99 95 Win
2 Cavs 90 80 Win
3 Spurs 84 87 Losses
4 Nets 96 95 Win

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1 Mavs 99 95
2 Cavs 90 80
3 Spurs 84 87
4 Nets 96 95

#add 'quality' column based on values in 'scored' and 'allowed' columns
df$quality <- with (df, ifelse (scored > 95, ' great ',
                         ifelse (scored > 85, ' good ', ' bad ')))

#view updated data frame
df

   team scored allowed quality
1 Mavs 99 95 great
2 Cavs 90 80 good
3 Spurs 84 87 bad
4 Nets 96 95 great

Пример 2. Добавление числового столбца на основе других столбцов.

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Spurs', 'Nets'),
                 scored=c(99, 90, 84, 96),
                 allowed=c(95, 80, 87, 95))

#view data frame
df

   team scored allowed
1 Mavs 99 95
2 Cavs 90 80
3 Spurs 84 87
4 Nets 96 95

#add 'lower_score' column based on values in 'scored' and 'allowed' columns
df$lower_score <- with (df, ifelse (scored > allowed, allowed, scored))

#view updated data frame
df

   team scored allowed lower_score
1 Mavs 99 95 95
2 Cavs 90 80 80
3 Spurs 84 87 84
4 Nets 96 95 95

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

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

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

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