У меня есть набор данных врожденных дефектов (тест), в котором каждая строка представляет собой случай, с различной комбинацией дефектов с 5 путями.Первые пять столбцов набора данных (Defect_A, Defect_B, Defect_C, Defect_D, Defect_E) являются номерами дефектов, которые составляют эту комбинацию.
Я хочу создать новый столбец с именем «comments», который выводит комментарий на основе следующей условной логики:
- Если в случае / строке есть какой-либо из следующих дефектов (1, 2, 3, 4) в столбцах 1: 5, комментарии = «соединились»
- Если дело имеет ДВУ из следующих дефектов (5, 6, 7, 8) в столбцах 1: 5, комментарии= «Spina bifida»
- Если случай имеет какой-либо из следующих дефектов (5, 6, 7, 8) И один из следующих дефектов (9,10,11,12,13) в столбцах 1: 5, comments = «heterodaxy»
- Если в случае есть какой-либо ТРИ из следующих дефектов (14, 15, 16, 17, 18) в столбцах 1: 5, comments = «vacterl»
Defect_A Defect_B Defect_C Defect_D Defect_E
case1 12 3 13 17 9
case2 20 13 6 7 3
case3 11 10 4 20 12
case4 13 7 2 18 3
case5 5 2 15 11 13
case6 8 1 15 19 4
case7 11 7 19 10 1
case8 9 14 15 11 16
case9 18 10 14 16 8
case10 19 7 8 10 2
Как бы я поступил так?Я включил пример кода ниже.
[редактировать]
# Sample data set
set.seed(99)
case1 = sample(1:20, 5, replace=FALSE)
case2 = sample(1:20, 5, replace=FALSE)
case3 = sample(1:20, 5, replace=FALSE)
case4 = sample(1:20, 5, replace=FALSE)
case5 = sample(1:20, 5, replace=FALSE)
case6 = sample(1:20, 5, replace=FALSE)
case7 = sample(1:20, 5, replace=FALSE)
case8 = sample(1:20, 5, replace=FALSE)
case9 = sample(1:20, 5, replace=FALSE)
case10 = sample(1:20, 5, replace=FALSE)
test<-data.frame(rbind(case1, case2, case3, case4, case5, case6, case7, case8, case9, case10))
colnames(test)<- c("Defect_A", "Defect_B", "Defect_C", "Defect_D", "Defect_E")
test
# Conditions
any <- c(1,2,3,4) # for condition 1
any_2 <- c(5,6,7,8) # for conditions 2 and 3
any_2_plus <- c(9,10,11,12,13) # for condition 3
any_3 <- c(14,15,16,17,18) # for condition 4