Я хочу создать новую переменную в моем наборе данных, основанную на наблюдениях, которые имеют указанные c буквы в идентификаторе образца - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть данные с идентификаторами образцов (B1T1, B2T1 ...), и я хочу назначить «Восстановление» для всех образцов B1 и B2 и назначить «Acidi c» для всех образцов B3 и B4, но поскольку имена связаны с обработками (T1, T2 и т. д. c). Мне нужен способ назначить новую переменную только на основе части идентификатора образца.

1 Ответ

0 голосов
/ 07 апреля 2020

Это хороший вариант использования для separate от tidyr:

library(tidyr)
ID <- c("B1T1", "B1T2", "B2T1", "B3T1", "B4T1", "B4T2")
val <- rnorm(6)
df <- data.frame(ID = ID, val = val)

df
#>     ID        val
#> 1 B1T1  0.2990410
#> 2 B1T2 -0.1363163
#> 3 B2T1 -0.5500596
#> 4 B3T1  0.7734307
#> 5 B4T1 -0.7522459
#> 6 B4T2 -0.5597933

df %>%
  separate(ID, sep = 2, into = c("Group", "Treatment"))
#>   Group Treatment        val
#> 1    B1        T1  0.2990410
#> 2    B1        T2 -0.1363163
#> 3    B2        T1 -0.5500596
#> 4    B3        T1  0.7734307
#> 5    B4        T1 -0.7522459
#> 6    B4        T2 -0.5597933

Создано в 2020-04-07 пакетом Представить (v0.3.0)

Оттуда вы можете поменять свои группы «В» и процедуры отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...