2016-12-06 76 views
-1

我有一個向量替換字符子集,並在數據幀

YC<-c(".PT" , ".PG", ".PG", ".PG", ".PA" , ".PA", ".PA", ".PA") 

我想變換YC到數據幀和刪除的點吧,這就是我想要的,但不工作

as.data.frame(factor(YC, unique(YC)))[,1]<- 
    sub(pattern="^.", replacement="", x=as.data.frame(factor(YC, unique(YC)))[,1]) 

輸出:

1 PT 
2 PG 
3 PA 
+0

「\\」。自「。」是一個元字符 –

+1

你的輸出沒有「PA」爲什麼這麼說? –

回答

0

這應做到:

df = data.frame(unique(YC)) 

df$unique.YC. = gsub(pattern = "^.", x = df$unique.YC., replacement = "", perl = T) 
df 
    # unique.YC. 
    # 1   PT 
    # 2   PG 
    # 3   PA 
1

我們可以使用sub。由於.是一個元字符,它表示任何其他字符,我們可以將其轉義(\\),將其放在方括號([.])中或指定fixed = TRUE參數以匹配它並將其替換爲""

data.frame(YC=sub(".", "", YC, fixed = TRUE))