比較兩列替換值我有一個數據幀的樣子:如何通過R中
df<-read.table(text="ID RE AL
140343 TC T
200012 A G
457096 GAA GAAA
555084 AG A
557151 T TAA
752311 GAATTAAT GAAT
810001 ATTTTT ATTTT
880420 GAAAAAAAAA GAAAAAAAAAA", header=TRUE, colClasses="character")
我想用字母「I」來代替較長的字符串列「RE」或「AL」而較短的一個用字母「D」代替。如果兩欄都有一個字母,則不變。
預期的結果:
ID RE AL
140343 I D
200012 A G
457096 D I
555084 I D
557151 D I
752311 I D
810001 I D
880420 D I
我想我的腳本:
max <- apply(df[2:3], 1, function(x) max(nchar(x)))
index <- max > 1
if(nchar(df$RE[index])==max[index]){
df$RE[index] <- "I"
df$AL[index] <- "D"
}else{
df$RE[index] <- "D"
df$AL[index] <- "I"
}
@Jaap:感謝你對你的矯正,但爲什麼刪除你的答案?我看到2種索引策略是互補的。 –
也許你是對的;沒有刪除我的答案 – Jaap