2016-12-31 69 views
-1

我有这些列变化和组行标识

ID  X Y 
x1.1 0.1 0.2 
x1.2 0.1 0.2 
x1.3 0.1 0.2 
x2.1 0.3 0.4 
x2.2 0.3 0.4 
x3.1 0.5 0.6 
x3.2 0.5 0.6 
... 0.1 0.2 

数据帧和我想改变所有的ID为x1.i为X1,x2.i为X2,依此类推。所以,我的数据帧应该是这样的:

ID  X Y 
x1 0.1 0.2 
x1 0.1 0.2 
x1 0.1 0.2 
x2 0.3 0.4 
x2 0.3 0.4 
x3 0.5 0.6 
x3 0.5 0.6 
... ... ... 

我怎么能做到这一点,而不使用循环?

感谢您提前回复!

回答

1

我们可以使用sub匹配.其次是其他字符(.*)结束的字符串,并与""

df1$ID <- sub("\\..*", "", df1$ID) 
df1 
# ID X Y 
#1 x1 0.1 0.2 
#2 x1 0.1 0.2 
#3 x1 0.1 0.2 
#4 x2 0.3 0.4 
#5 x2 0.3 0.4 
#6 x3 0.5 0.6 
#7 x3 0.5 0.6 
+0

更换@ mgm14392谢谢你的消息。你也可以勾选[here](http://stackoverflow.com/help/someone-answers) – akrun