Использование функции Sum в R для задания переменной из 3 разных столбцов с указанным количеством - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь создать символьный вектор, в котором в R хранятся названия стран с 10 или более медалями. Я получаю сообщение «Ошибка: попытка применить не-функцию» при запуске кода. Вот код: big_winners = olympic_df $ name (сумма (olympic_df $ medals.gold & olympic_df $ medals.silver & olympic_df $ medals.bronze> = 10))

вот изображение первых 10 строк с заголовками столбцов для справки: enter image description here

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Попробуйте это:

library("dplyr")

# Selects those 3 columns Gets the sum of three columns for each row
medal_count = olympic_df %>% select(medals.gold, medals.silver, medals.bronze) %>% rowSums()

# Filters the original dataset when sum of medals for a row > 10
olympic_df[medal_count>10,"name"] %>% unique # Returns distinct name
0 голосов
/ 18 февраля 2020

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

olympic_df$Sum <- rowSums(olympic_df[,3:5])
olympic_df[olympic_df$Sum >= 10,] 

или в одну строку:

olympic_df[rowSums(olympic_df[3:5]) >= 10,]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...