Как добавить столбец «группа» в R на основе номера строки - PullRequest
0 голосов
/ 21 апреля 2020

У меня большой df, в котором есть данные, сгенерированные из двух разных программ. Это пример df:

 Species variable  value
1      "Malassezia;globosa"      100  68126
2      "Aspergillus;nomius"      100  13977
3  "Mitosporidium;daphniae"      100   5953
4 "Penicillium;chrysogenum"      100      1
5                     Other      100    102
6      "Malassezia;globosa"      101 110268

Всего 311 строк. Я хочу добавить еще один столбец под названием «Программа», в котором строки 1–186 группируются как «HMS», а строки 187–311 - «MiCoP», например:

 Species variable  value  Program
1      "Malassezia;globosa"      100  68126   HMS
2      "Aspergillus;nomius"      100  13977   HMS
3  "Mitosporidium;daphniae"      100   5953   HMS
4 "Penicillium;chrysogenum"      100      1   HMS
5                     Other      100    102   HMS
6      "Malassezia;globosa"      101 110268   HMS

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Если вы хотите назначить группы на основе номера строки, вы можете сделать:

df$Program <- NA #initialise
df$Program[1:186] <- "HMS"
df$Program[187:311] <- "MiCoP"
0 голосов
/ 22 апреля 2020

Мы можем сделать это с case_when

library(dplyr)
df <- df %>%
        mutate(Program = case_when(row_number() < 187 ~ "HMS", 
                      between(row_number(), 187, 311) ~ "MiCoP"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...