相當新的R,所以這可能是一個簡單的答案。 我有一個字符列表。我想刪除最後一個字母等A變爲乙通過一個迭代它,1變成2等在R循環中迭代一個字符或數字
waferlist<-c('L2MLQ','L2MIW','L2MK0','L2ML6','L2MO2','L2MHE','L2MK4','L2MN6','L2MLM')
for (i in waferlist)
{
lastchar<-substr(i,5,6) #Get last character
k<-lastchar==LETTERS #Is it a Letter
pos<-min(which(k==TRUE)) #Find letter position and itterate
pos<-pos+1
pos<-LETTERS[pos]
時遇到的問題是,如果最後一個字符是一個數字,它返回其作爲Inf
或NA_character_
,因爲它不是。
我試圖找到一種方法來選擇下面的這些非結果,但它並沒有看到它作爲TRUE/FALSE
語句,所以它不起作用。有沒有另一種方法來做到這一點?
if(pos==Inf | pos==NA_character_)
{
lastchar<-as.numeric(lastchar)
pos<-lastchar+1
}
是什麼9變成什麼? Z成爲什麼?我會分別猜出零和A,回到開始,但你應該澄清一點。 –
有沒有一種簡單的方法可以回到基地36'strtoi(晶圓列表,36)+ 1' –
對不起理查德,Ids的設置,所以他們永遠不會結束在9或Z,所以我不必擔心關於該 – Marcus