2016-12-06 74 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))