2016-09-22 81 views
0

在數據幀DF是如下:如何替換R中的多個字母數字字符?

DF$Values 

Values 
B1 
A 
A2 
B 
B2 
A1 
C2 
C1 
C 

我想替換A2,B,B2Group1B1,C2,C1,CGroup2,並A1, AGroup3等。這樣的輸出數據看起來像這樣

Values 
Group2 
Group3 
Group1 
Group1 
Group1 
Group3 
Group2 
Group2 
Group2 

我使用gsub()嘗試,但它不是爲我正常工作,因爲代碼 gsub("A1|A", "Group3" ,DF)Group32

請幫忙更換A2

回答

0

我們可以用%in%做一個ifelse(目前還不清楚OP的帖子是否有任何特定的模式),將這些元素重新編碼爲不同的元素。

with(DF, ifelse(Values %in% c("A2", "B", "B2"), "Group1", 
     ifelse(Values %in% c("B1", "C2", "C1", "C"), "Group2", "Group3"))) 
#[1] "Group2" "Group3" "Group1" "Group1" "Group1" "Group3" "Group2" "Group2" "Group2" 
+1

謝謝!!它爲我工作:) –

1

如何爲每個組創建因子水平?

df$Values <- as.factor(df$Values) 
levels(df$Values) <- list(Group1= c("A2","B","B2"), Group2= c("B1","C2","C1","C"), 
                Group3 = c("A1", "A")) 
df$Values 
#[1] Group2 Group3 Group1 Group1 Group1 Group3 Group2 Group2 Group2 
#Levels: Group1 Group2 Group3 
相關問題