2016-12-14 2 views
0

Я пытаюсь объединить классы и не могу понять, как это сделать.Как совместить классы

Я работаю с большим набором данных

library("ALL"); data(ALL, package = "ALL"); 

и нормально загрузить индикатор, как это:

allB <- ALL[,which(ALL$BT %in% c("B","B1","B2", "B3","B4"))] 

и разделяет его на 5, но я хочу, чтобы объединить B3 и B4

Я пытался несколько различных вещей,

b1 <- ALL[,which(ALL$BT %in% c("B1"))] #select patients 
b2 <- ALL[,which(ALL$BT %in% c("B2"))] 
b34 <- ALL[,which(ALL$BT %in% c("B3","B4"))] 
w <- c(b1,b2,b34) 

allb <- ALL[,which(ALL$BT %in% c("B1","B2", c("B3","B4")))] 

allb <- ALL[,which(ALL$BT %in% c("B1","B2","B3|B4"))] 

Но ни один из них не работает

данных, установленные данные:

ALL$BT 
[1] B2 B2 B4 B1 B2 B1 B1 B1 B2 B2 B3 B3 B3 B2 B3 B B2 B3 B2 B3 B2 B2 B2 B1 B1 B2 B1 B2 B1 B2 B B B2 B2 B2 B1 B2 B2 B2 B2 B2 B4 B4 
[44] B2 B2 B2 B4 B2 B1 B2 B2 B3 B4 B3 B3 B3 B4 B3 B3 B1 B1 B1 B1 B3 B3 B3 B3 B3 B3 B3 B3 B1 B3 B1 B4 B2 B2 B1 B3 B4 B4 B2 B2 B3 B4 B4 
[87] B4 B1 B2 B2 B2 B1 B2 B B T T3 T2 T2 T3 T2 T T4 T2 T3 T3 T T2 T3 T2 T2 T2 T1 T4 T T2 T3 T2 T2 T2 T2 T3 T3 T3 T2 T3 T2 T 
Levels: B B1 B2 B3 B4 T T1 T2 T3 T4 

allB$BT 
[1] B2 B2 B4 B1 B2 B1 B1 B1 B2 B2 B3 B3 B3 B2 B3 B B2 B3 B2 B3 B2 B2 B2 B1 B1 B2 B1 B2 B1 B2 B B B2 B2 B2 B1 B2 B2 B2 B2 B2 B4 B4 B2 
[45] B2 B2 B4 B2 B1 B2 B2 B3 B4 B3 B3 B3 B4 B3 B3 B1 B1 B1 B1 B3 B3 B3 B3 B3 B3 B3 B3 B1 B3 B1 B4 B2 B2 B1 B3 B4 B4 B2 B2 B3 B4 B4 B4 B1 
[89] B2 B2 B2 B1 B2 B B 
Levels: B B1 B2 B3 B4 T T1 T2 T3 T4 

ALL 
ExpressionSet (storageMode: lockedEnvironment) 
assayData: 12625 features, 128 samples 
    element names: exprs 
+0

Вас может смутить оператор '% in%'. Это только проверка для каждого элемента левой части, существует ли она в правой части. Комбинации не происходит. Если вы опубликовали результат, который вам «нужно», тогда кто-то сможет показать путь. –

+0

Термин «класс» используется неправильно по крайней мере до тех пор, пока не установлена ​​терминология R. В R тип данных (или класс), который используется для представления категориальных данных, является классом «фактор», а его значения являются «уровнями». –

+0

Это то, что мой учитель называл. Я все время путался, потому что я был уверен, что класс был чем-то другим –

ответ

0

я должен был формулируя это неправильно, я хотел бы переименовать уровни

levels(allB$BT)[levels(allB$BT)=="B3"] <- "B34" 
levels(allB$BT)[levels(allB$BT)=="B4"] <- "B34" 

Работала

allB$BT 
[1] B2 B2 B34 B1 B2 B1 B1 B1 B2 B2 B34 B34 B34 B2 B34 B2 B34 B2 B34 B2 B2 B2 B1 B1 B2 B1 B2 B1 B2 B2 B2 B2 B1 
[34] B2 B2 B2 B2 B2 B34 B34 B2 B2 B2 B34 B2 B1 B2 B2 B34 B34 B34 B34 B34 B34 B34 B34 B1 B1 B1 B1 B34 B34 B34 B34 B34 B34 
[67] B34 B34 B1 B34 B1 B34 B2 B2 B1 B34 B34 B34 B2 B2 B34 B34 B34 B34 B1 B2 B2 B2 B1 B2 
Levels: B B1 B2 B34 T T1 T2 T3 T4 
Смежные вопросы